Undefined-bot 3.17.2__tar.gz → 3.18.0__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 (867) hide show
  1. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/ARCHITECTURE.md +14 -2
  2. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/CHANGELOG.md +18 -0
  3. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/PKG-INFO +4 -2
  4. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/README.md +2 -1
  5. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/config.toml.example +43 -0
  6. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/pyproject.toml +2 -1
  7. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/__init__.py +1 -1
  8. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/config_class.py +40 -0
  9. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/env_registry.py +1 -0
  10. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/load_sections/integrations.py +91 -0
  11. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/handlers/auto_extract.py +69 -0
  12. undefined_bot-3.18.0/src/Undefined/jm/__init__.py +1 -0
  13. undefined_bot-3.18.0/src/Undefined/jm/client.py +29 -0
  14. undefined_bot-3.18.0/src/Undefined/jm/downloader.py +395 -0
  15. undefined_bot-3.18.0/src/Undefined/jm/parser.py +155 -0
  16. undefined_bot-3.18.0/src/Undefined/jm/sender.py +463 -0
  17. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/README.md +4 -2
  18. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/README.md +2 -2
  19. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/README.md +1 -1
  20. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/config.json +1 -1
  21. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/intro.md +1 -1
  22. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/prompt.md +1 -0
  23. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/http_config.py +1 -0
  24. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/pipelines/context.py +2 -0
  25. undefined_bot-3.18.0/src/Undefined/skills/pipelines/jm/config.json +6 -0
  26. undefined_bot-3.18.0/src/Undefined/skills/pipelines/jm/handler.py +46 -0
  27. undefined_bot-3.18.0/src/Undefined/skills/shared.py +132 -0
  28. undefined_bot-3.18.0/src/Undefined/skills/tools/jm_book/README.md +33 -0
  29. undefined_bot-3.18.0/src/Undefined/skills/tools/jm_book/callable.json +4 -0
  30. undefined_bot-3.18.0/src/Undefined/skills/tools/jm_book/config.json +31 -0
  31. undefined_bot-3.18.0/src/Undefined/skills/tools/jm_book/handler.py +95 -0
  32. undefined_bot-3.17.2/src/Undefined/skills/shared.py +0 -61
  33. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/.gitignore +0 -0
  34. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/LICENSE +0 -0
  35. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/config/README.md +0 -0
  36. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/config/mcp.json.example +0 -0
  37. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/img/undefined-9527.png +0 -0
  38. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/img/xlwy.jpg +0 -0
  39. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/IMPORTANT/each.md +0 -0
  40. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/README.md +0 -0
  41. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/prompts/agent_self_intro.txt +0 -0
  42. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/prompts/analyze_multimodal.txt +0 -0
  43. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/prompts/describe_image.txt +0 -0
  44. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/prompts/describe_meme_image.txt +0 -0
  45. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/prompts/generate_title.txt +0 -0
  46. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/prompts/historian_profile_merge.md +0 -0
  47. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/prompts/historian_rewrite.md +0 -0
  48. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/prompts/image_gen_moderation.txt +0 -0
  49. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/prompts/injection_detector.txt +0 -0
  50. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/prompts/injection_response_agent.txt +0 -0
  51. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/prompts/judge_meme_image.txt +0 -0
  52. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/prompts/merge_message_summaries.txt +0 -0
  53. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/prompts/merge_summaries.txt +0 -0
  54. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/prompts/message_summary.txt +0 -0
  55. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/prompts/naga_message_moderation.txt +0 -0
  56. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/prompts/stats_analysis.txt +0 -0
  57. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/prompts/summarize.txt +0 -0
  58. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/prompts/undefined.xml +0 -0
  59. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/res/prompts/undefined_nagaagent.xml +0 -0
  60. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/README.md +0 -0
  61. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/README.md +0 -0
  62. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/__main__.py +0 -0
  63. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/__init__.py +0 -0
  64. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/client/__init__.py +0 -0
  65. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/client/ask_loop.py +0 -0
  66. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/client/queue.py +0 -0
  67. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/client/setup.py +0 -0
  68. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/crawl4ai_support.py +0 -0
  69. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/http.py +0 -0
  70. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/llm/__init__.py +0 -0
  71. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/llm/requester.py +0 -0
  72. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/llm/retry.py +0 -0
  73. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/llm/sanitize.py +0 -0
  74. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/llm/streaming.py +0 -0
  75. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/llm/thinking.py +0 -0
  76. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/llm/types.py +0 -0
  77. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/model_selector.py +0 -0
  78. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/multimodal/__init__.py +0 -0
  79. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/multimodal/analyzer.py +0 -0
  80. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/multimodal/constants.py +0 -0
  81. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/multimodal/detection.py +0 -0
  82. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/multimodal/parsing.py +0 -0
  83. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/parsing.py +0 -0
  84. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/prompts/__init__.py +0 -0
  85. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/prompts/builder.py +0 -0
  86. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/prompts/cognitive.py +0 -0
  87. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/prompts/constants.py +0 -0
  88. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/prompts/current_input.py +0 -0
  89. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/prompts/file_includes.py +0 -0
  90. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/prompts/system_context.py +0 -0
  91. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/prompts/system_info.py +0 -0
  92. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/queue_budget.py +0 -0
  93. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/retrieval.py +0 -0
  94. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/summaries.py +0 -0
  95. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/tokens.py +0 -0
  96. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/tool_search.py +0 -0
  97. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/tooling.py +0 -0
  98. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/transports/__init__.py +0 -0
  99. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/transports/anthropic_transport.py +0 -0
  100. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/transports/openai_transport.py +0 -0
  101. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/ai/transports/replay.py +0 -0
  102. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/__init__.py +0 -0
  103. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/_context.py +0 -0
  104. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/_helpers.py +0 -0
  105. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/_naga_state.py +0 -0
  106. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/_openapi.py +0 -0
  107. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/_probes.py +0 -0
  108. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/app.py +0 -0
  109. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/naga_store.py +0 -0
  110. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/routes/__init__.py +0 -0
  111. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/routes/automations.py +0 -0
  112. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/routes/chat.py +0 -0
  113. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/routes/cognitive.py +0 -0
  114. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/routes/commands.py +0 -0
  115. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/routes/health.py +0 -0
  116. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/routes/memes.py +0 -0
  117. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/routes/memory.py +0 -0
  118. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/routes/naga/__init__.py +0 -0
  119. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/routes/naga/auth.py +0 -0
  120. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/routes/naga/bind.py +0 -0
  121. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/routes/naga/send.py +0 -0
  122. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/routes/naga/unbind.py +0 -0
  123. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/routes/onebot_files.py +0 -0
  124. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/routes/schedules.py +0 -0
  125. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/routes/system.py +0 -0
  126. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/routes/tools.py +0 -0
  127. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/routes/weixin.py +0 -0
  128. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/api/webchat_store.py +0 -0
  129. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/arxiv/__init__.py +0 -0
  130. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/arxiv/client.py +0 -0
  131. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/arxiv/downloader.py +0 -0
  132. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/arxiv/models.py +0 -0
  133. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/arxiv/parser.py +0 -0
  134. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/arxiv/sender.py +0 -0
  135. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/attachments/__init__.py +0 -0
  136. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/attachments/forward_snapshot.py +0 -0
  137. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/attachments/models.py +0 -0
  138. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/attachments/registry.py +0 -0
  139. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/attachments/remote.py +0 -0
  140. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/attachments/render.py +0 -0
  141. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/attachments/segments.py +0 -0
  142. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/automations/__init__.py +0 -0
  143. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/automations/address.py +0 -0
  144. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/automations/catalog.py +0 -0
  145. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/automations/clock.py +0 -0
  146. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/automations/constants.py +0 -0
  147. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/automations/engine.py +0 -0
  148. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/automations/extract.py +0 -0
  149. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/automations/logutil.py +0 -0
  150. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/automations/match.py +0 -0
  151. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/automations/mentions.py +0 -0
  152. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/automations/migrate.py +0 -0
  153. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/automations/runner.py +0 -0
  154. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/automations/service.py +0 -0
  155. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/automations/short.py +0 -0
  156. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/automations/storage.py +0 -0
  157. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/automations/template.py +0 -0
  158. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/automations/triggers.py +0 -0
  159. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/automations/validate.py +0 -0
  160. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/bilibili/__init__.py +0 -0
  161. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/bilibili/api_client.py +0 -0
  162. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/bilibili/danmaku.py +0 -0
  163. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/bilibili/download_core.py +0 -0
  164. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/bilibili/downloader.py +0 -0
  165. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/bilibili/errors.py +0 -0
  166. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/bilibili/format.py +0 -0
  167. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/bilibili/models.py +0 -0
  168. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/bilibili/opus_parser.py +0 -0
  169. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/bilibili/opus_render.py +0 -0
  170. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/bilibili/opus_sender.py +0 -0
  171. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/bilibili/parser.py +0 -0
  172. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/bilibili/sender.py +0 -0
  173. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/bilibili/wbi.py +0 -0
  174. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/bilibili/wbi_request.py +0 -0
  175. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/changelog.py +0 -0
  176. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/cognitive/__init__.py +0 -0
  177. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/cognitive/chroma_scheduler.py +0 -0
  178. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/cognitive/historian/__init__.py +0 -0
  179. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/cognitive/historian/helpers.py +0 -0
  180. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/cognitive/historian/scheduling.py +0 -0
  181. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/cognitive/historian/tools.py +0 -0
  182. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/cognitive/historian/worker.py +0 -0
  183. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/cognitive/job_queue.py +0 -0
  184. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/cognitive/profile_storage.py +0 -0
  185. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/cognitive/service/__init__.py +0 -0
  186. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/cognitive/service/helpers.py +0 -0
  187. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/cognitive/service/service.py +0 -0
  188. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/cognitive/vector_store.py +0 -0
  189. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/cognitive/vector_store_compat.py +0 -0
  190. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/__init__.py +0 -0
  191. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/admin.py +0 -0
  192. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/api_modes.py +0 -0
  193. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/build_config.py +0 -0
  194. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/coercers.py +0 -0
  195. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/domain_parsers.py +0 -0
  196. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/hot_reload.py +0 -0
  197. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/load_sections/__init__.py +0 -0
  198. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/load_sections/access.py +0 -0
  199. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/load_sections/core.py +0 -0
  200. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/load_sections/domains.py +0 -0
  201. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/load_sections/finalize.py +0 -0
  202. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/load_sections/history_skills.py +0 -0
  203. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/load_sections/knowledge.py +0 -0
  204. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/load_sections/logging_tools.py +0 -0
  205. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/load_sections/models.py +0 -0
  206. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/load_sections/network.py +0 -0
  207. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/loader.py +0 -0
  208. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/manager.py +0 -0
  209. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/model_parsers.py +0 -0
  210. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/models.py +0 -0
  211. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/naga_policy.py +0 -0
  212. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/onebot.py +0 -0
  213. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/parsers/__init__.py +0 -0
  214. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/parsers/agent.py +0 -0
  215. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/parsers/chat.py +0 -0
  216. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/parsers/embedding.py +0 -0
  217. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/parsers/grok.py +0 -0
  218. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/parsers/helpers.py +0 -0
  219. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/parsers/historian.py +0 -0
  220. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/parsers/image.py +0 -0
  221. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/parsers/naga.py +0 -0
  222. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/parsers/pool.py +0 -0
  223. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/parsers/security.py +0 -0
  224. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/parsers/summary.py +0 -0
  225. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/parsers/vision.py +0 -0
  226. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/resolvers.py +0 -0
  227. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/search.py +0 -0
  228. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/toml_io.py +0 -0
  229. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/config/webui_settings.py +0 -0
  230. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/context.py +0 -0
  231. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/context_resource_registry.py +0 -0
  232. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/__init__.py +0 -0
  233. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/__main__.py +0 -0
  234. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/catalog.py +0 -0
  235. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/cli.py +0 -0
  236. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/commands.py +0 -0
  237. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/config_patch.py +0 -0
  238. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/docker_cli.py +0 -0
  239. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/generate.py +0 -0
  240. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/images.py +0 -0
  241. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/nagaagent.py +0 -0
  242. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/runner.py +0 -0
  243. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/state.py +0 -0
  244. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/templates/.dockerignore +0 -0
  245. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/templates/Dockerfile.bot +0 -0
  246. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/templates/compose.base.yaml +0 -0
  247. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/templates/compose.bot.yaml +0 -0
  248. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/templates/compose.firecrawl.yaml +0 -0
  249. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/templates/compose.lxmusic2api.yaml +0 -0
  250. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/templates/compose.napcat.yaml +0 -0
  251. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/templates/compose.searxng.yaml +0 -0
  252. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/templates/lxmusic2api.config.toml +0 -0
  253. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/templates/napcat.ws.json +0 -0
  254. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/deploy/templates/searxng.settings.yml +0 -0
  255. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/douyin/__init__.py +0 -0
  256. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/douyin/client.py +0 -0
  257. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/douyin/downloader.py +0 -0
  258. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/douyin/models.py +0 -0
  259. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/douyin/parser.py +0 -0
  260. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/douyin/sender.py +0 -0
  261. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/end_summary_storage.py +0 -0
  262. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/faq.py +0 -0
  263. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/github/__init__.py +0 -0
  264. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/github/client.py +0 -0
  265. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/github/models.py +0 -0
  266. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/github/parser.py +0 -0
  267. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/github/sender.py +0 -0
  268. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/handlers/__init__.py +0 -0
  269. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/handlers/message_flow.py +0 -0
  270. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/handlers/poke.py +0 -0
  271. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/handlers/repeat.py +0 -0
  272. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/injection_response_agent.py +0 -0
  273. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/knowledge/__init__.py +0 -0
  274. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/knowledge/chunker.py +0 -0
  275. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/knowledge/embedder.py +0 -0
  276. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/knowledge/manager.py +0 -0
  277. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/knowledge/reranker.py +0 -0
  278. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/knowledge/runtime.py +0 -0
  279. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/knowledge/store.py +0 -0
  280. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/main.py +0 -0
  281. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/mcp/__init__.py +0 -0
  282. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/mcp/registry.py +0 -0
  283. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/memes/__init__.py +0 -0
  284. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/memes/_image_utils.py +0 -0
  285. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/memes/ingest.py +0 -0
  286. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/memes/models.py +0 -0
  287. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/memes/search.py +0 -0
  288. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/memes/service.py +0 -0
  289. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/memes/store.py +0 -0
  290. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/memes/vector_store.py +0 -0
  291. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/memes/worker.py +0 -0
  292. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/memory.py +0 -0
  293. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/onebot/__init__.py +0 -0
  294. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/onebot/client.py +0 -0
  295. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/onebot/file_errors.py +0 -0
  296. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/onebot/file_references.py +0 -0
  297. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/onebot/file_store.py +0 -0
  298. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/onebot/file_transport.py +0 -0
  299. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/onebot/message.py +0 -0
  300. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/py.typed +0 -0
  301. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/rate_limit.py +0 -0
  302. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/render.py +0 -0
  303. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/__init__.py +0 -0
  304. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/bugfix_command.py +0 -0
  305. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/command.py +0 -0
  306. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/commands/__init__.py +0 -0
  307. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/commands/catalog.py +0 -0
  308. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/commands/context.py +0 -0
  309. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/commands/registry.py +0 -0
  310. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/coordinator/__init__.py +0 -0
  311. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/coordinator/background.py +0 -0
  312. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/coordinator/batching.py +0 -0
  313. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/coordinator/group.py +0 -0
  314. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/coordinator/message_ids.py +0 -0
  315. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/coordinator/private.py +0 -0
  316. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/message_batcher/__init__.py +0 -0
  317. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/message_batcher/scheduler.py +0 -0
  318. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/message_batcher/state.py +0 -0
  319. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/message_summary_fetch.py +0 -0
  320. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/model_pool.py +0 -0
  321. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/queue_manager.py +0 -0
  322. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/security.py +0 -0
  323. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/services/stats_command.py +0 -0
  324. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/__init__.py +0 -0
  325. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/__init__.py +0 -0
  326. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/agent_tool_registry.py +0 -0
  327. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/config.json +0 -0
  328. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/docker_utils.py +0 -0
  329. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/handler.py +0 -0
  330. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/intro.md +0 -0
  331. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/mcp.json +0 -0
  332. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/prompt.md +0 -0
  333. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/config.json +0 -0
  334. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/handler.py +0 -0
  335. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/config.json +0 -0
  336. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/handler.py +0 -0
  337. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/config.json +0 -0
  338. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/handler.py +0 -0
  339. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/end/config.json +0 -0
  340. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/end/handler.py +0 -0
  341. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/config.json +0 -0
  342. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/handler.py +0 -0
  343. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/config.json +0 -0
  344. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/handler.py +0 -0
  345. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/config.json +0 -0
  346. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/handler.py +0 -0
  347. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/read/config.json +0 -0
  348. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/read/handler.py +0 -0
  349. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/config.json +0 -0
  350. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/handler.py +0 -0
  351. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/config.json +0 -0
  352. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/handler.py +0 -0
  353. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/config.json +0 -0
  354. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/handler.py +0 -0
  355. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/write/config.json +0 -0
  356. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/code_delivery_agent/tools/write/handler.py +0 -0
  357. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/entertainment_agent/README.md +0 -0
  358. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/entertainment_agent/config.json +0 -0
  359. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/entertainment_agent/handler.py +0 -0
  360. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/entertainment_agent/intro.md +0 -0
  361. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/entertainment_agent/prompt.md +0 -0
  362. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/entertainment_agent/tools/__init__.py +0 -0
  363. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/config.json +0 -0
  364. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/handler.py +0 -0
  365. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/config.json +0 -0
  366. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/handler.py +0 -0
  367. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/config.json +0 -0
  368. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/handler.py +0 -0
  369. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/config.json +0 -0
  370. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/handler.py +0 -0
  371. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/config.json +0 -0
  372. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/handler.py +0 -0
  373. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/__init__.py +0 -0
  374. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/handler.py +0 -0
  375. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/__init__.py +0 -0
  376. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/config.json +0 -0
  377. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/handler.py +0 -0
  378. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/config.json +0 -0
  379. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/handler.py +0 -0
  380. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/config.json +0 -0
  381. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/handler.py +0 -0
  382. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/describe_pdf_page/config.json +0 -0
  383. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/describe_pdf_page/handler.py +0 -0
  384. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/config.json +0 -0
  385. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/handler.py +0 -0
  386. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/config.json +0 -0
  387. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/handler.py +0 -0
  388. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/config.json +0 -0
  389. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/handler.py +0 -0
  390. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/config.json +0 -0
  391. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/handler.py +0 -0
  392. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/config.json +0 -0
  393. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/handler.py +0 -0
  394. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/config.json +0 -0
  395. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/handler.py +0 -0
  396. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/config.json +0 -0
  397. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/handler.py +0 -0
  398. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/config.json +0 -0
  399. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/handler.py +0 -0
  400. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/README.md +0 -0
  401. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/config.json +0 -0
  402. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/handler.py +0 -0
  403. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/intro.md +0 -0
  404. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/prompt.md +0 -0
  405. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/__init__.py +0 -0
  406. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/config.json +0 -0
  407. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/handler.py +0 -0
  408. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/baiduhot/config.json +0 -0
  409. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/baiduhot/handler.py +0 -0
  410. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/base64/config.json +0 -0
  411. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/base64/handler.py +0 -0
  412. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/config.json +0 -0
  413. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/handler.py +0 -0
  414. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/config.json +0 -0
  415. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/handler.py +0 -0
  416. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/douyinhot/config.json +0 -0
  417. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/douyinhot/handler.py +0 -0
  418. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/gold_price/config.json +0 -0
  419. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/gold_price/handler.py +0 -0
  420. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/hash/config.json +0 -0
  421. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/hash/handler.py +0 -0
  422. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/history/config.json +0 -0
  423. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/history/handler.py +0 -0
  424. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/net_check/config.json +0 -0
  425. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/net_check/handler.py +0 -0
  426. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/config.json +0 -0
  427. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/handler.py +0 -0
  428. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/speed/config.json +0 -0
  429. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/speed/handler.py +0 -0
  430. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/tcping/config.json +0 -0
  431. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/tcping/handler.py +0 -0
  432. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/weather_query/config.json +0 -0
  433. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/weather_query/handler.py +0 -0
  434. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/weibohot/config.json +0 -0
  435. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/weibohot/handler.py +0 -0
  436. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/whois/config.json +0 -0
  437. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/info_agent/tools/whois/handler.py +0 -0
  438. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/intro_generator.py +0 -0
  439. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/intro_utils.py +0 -0
  440. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/naga_code_analysis_agent/README.md +0 -0
  441. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/naga_code_analysis_agent/config.json +0 -0
  442. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/naga_code_analysis_agent/handler.py +0 -0
  443. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/naga_code_analysis_agent/intro.md +0 -0
  444. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/naga_code_analysis_agent/mcp.json +0 -0
  445. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/naga_code_analysis_agent/prompt.md +0 -0
  446. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/__init__.py +0 -0
  447. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/config.json +0 -0
  448. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/handler.py +0 -0
  449. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/config.json +0 -0
  450. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/handler.py +0 -0
  451. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/config.json +0 -0
  452. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/handler.py +0 -0
  453. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/config.json +0 -0
  454. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/handler.py +0 -0
  455. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/config.json +0 -0
  456. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/handler.py +0 -0
  457. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/runner/__init__.py +0 -0
  458. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/runner/context.py +0 -0
  459. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/runner/loop.py +0 -0
  460. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/runner/tools.py +0 -0
  461. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/runner/webchat_utils.py +0 -0
  462. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/summary_agent/__init__.py +0 -0
  463. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/summary_agent/config.json +0 -0
  464. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/summary_agent/handler.py +0 -0
  465. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/summary_agent/intro.md +0 -0
  466. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/summary_agent/prompt.md +0 -0
  467. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/summary_agent/tools/__init__.py +0 -0
  468. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/config.json +0 -0
  469. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/handler.py +0 -0
  470. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/undefined_self_code_agent/README.md +0 -0
  471. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/undefined_self_code_agent/__init__.py +0 -0
  472. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/undefined_self_code_agent/config.json +0 -0
  473. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/undefined_self_code_agent/handler.py +0 -0
  474. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/undefined_self_code_agent/intro.md +0 -0
  475. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/undefined_self_code_agent/prompt.md +0 -0
  476. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/__init__.py +0 -0
  477. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/_shared.py +0 -0
  478. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/glob/config.json +0 -0
  479. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/glob/handler.py +0 -0
  480. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/list_directory/config.json +0 -0
  481. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/list_directory/handler.py +0 -0
  482. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/read_file/config.json +0 -0
  483. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/read_file/handler.py +0 -0
  484. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/search_file_content/config.json +0 -0
  485. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/search_file_content/handler.py +0 -0
  486. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/web_agent/README.md +0 -0
  487. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/web_agent/callable.json +0 -0
  488. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/web_agent/config.json +0 -0
  489. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/web_agent/handler.py +0 -0
  490. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/web_agent/intro.md +0 -0
  491. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/web_agent/mcp.json +0 -0
  492. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/web_agent/prompt.md +0 -0
  493. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/web_agent/tools/__init__.py +0 -0
  494. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/config.json +0 -0
  495. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/handler.py +0 -0
  496. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/web_agent/tools/firecrawl_search/config.json +0 -0
  497. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/web_agent/tools/firecrawl_search/handler.py +0 -0
  498. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/web_agent/tools/grok_search/config.json +0 -0
  499. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/web_agent/tools/grok_search/handler.py +0 -0
  500. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/web_agent/tools/web_search/config.json +0 -0
  501. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/agents/web_agent/tools/web_search/handler.py +0 -0
  502. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/anthropic_skills/__init__.py +0 -0
  503. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/anthropic_skills/loader.py +0 -0
  504. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/README.md +0 -0
  505. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/admin/README.md +0 -0
  506. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/admin/config.json +0 -0
  507. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/admin/handler.py +0 -0
  508. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/bugfix/README.md +0 -0
  509. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/bugfix/config.json +0 -0
  510. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/bugfix/handler.py +0 -0
  511. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/changelog/README.md +0 -0
  512. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/changelog/config.json +0 -0
  513. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/changelog/handler.py +0 -0
  514. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/copyright/README.md +0 -0
  515. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/copyright/config.json +0 -0
  516. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/copyright/handler.py +0 -0
  517. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/faq/README.md +0 -0
  518. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/faq/config.json +0 -0
  519. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/faq/handler.py +0 -0
  520. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/feedback/README.md +0 -0
  521. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/feedback/config.json +0 -0
  522. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/feedback/handler.py +0 -0
  523. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/help/README.md +0 -0
  524. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/help/config.json +0 -0
  525. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/help/handler.py +0 -0
  526. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/naga/README.md +0 -0
  527. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/naga/config.json +0 -0
  528. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/naga/handler.py +0 -0
  529. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/naga/policy.py +0 -0
  530. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/profile/README.md +0 -0
  531. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/profile/config.json +0 -0
  532. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/profile/handler.py +0 -0
  533. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/stats/README.md +0 -0
  534. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/stats/config.json +0 -0
  535. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/stats/handler.py +0 -0
  536. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/summary/README.md +0 -0
  537. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/summary/config.json +0 -0
  538. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/summary/handler.py +0 -0
  539. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/version/README.md +0 -0
  540. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/version/config.json +0 -0
  541. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/commands/version/handler.py +0 -0
  542. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/http_client.py +0 -0
  543. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/pipelines/__init__.py +0 -0
  544. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/pipelines/arxiv/config.json +0 -0
  545. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/pipelines/arxiv/handler.py +0 -0
  546. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/pipelines/bilibili/config.json +0 -0
  547. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/pipelines/bilibili/handler.py +0 -0
  548. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/pipelines/bilibili_opus/config.json +0 -0
  549. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/pipelines/bilibili_opus/handler.py +0 -0
  550. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/pipelines/douyin/config.json +0 -0
  551. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/pipelines/douyin/handler.py +0 -0
  552. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/pipelines/github/config.json +0 -0
  553. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/pipelines/github/handler.py +0 -0
  554. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/pipelines/models.py +0 -0
  555. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/pipelines/registry.py +0 -0
  556. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/registry.py +0 -0
  557. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/README.md +0 -0
  558. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/__init__.py +0 -0
  559. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/arxiv_paper/README.md +0 -0
  560. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/arxiv_paper/callable.json +0 -0
  561. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/arxiv_paper/config.json +0 -0
  562. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/arxiv_paper/handler.py +0 -0
  563. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/bilibili_opus/README.md +0 -0
  564. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/bilibili_opus/callable.json +0 -0
  565. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/bilibili_opus/config.json +0 -0
  566. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/bilibili_opus/handler.py +0 -0
  567. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/bilibili_video/README.md +0 -0
  568. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/bilibili_video/callable.json +0 -0
  569. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/bilibili_video/config.json +0 -0
  570. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/bilibili_video/handler.py +0 -0
  571. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/calculator/README.md +0 -0
  572. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/calculator/callable.json +0 -0
  573. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/calculator/config.json +0 -0
  574. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/calculator/handler.py +0 -0
  575. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/changelog_query/README.md +0 -0
  576. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/changelog_query/config.json +0 -0
  577. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/changelog_query/handler.py +0 -0
  578. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/douyin_video/README.md +0 -0
  579. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/douyin_video/callable.json +0 -0
  580. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/douyin_video/config.json +0 -0
  581. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/douyin_video/handler.py +0 -0
  582. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/end/README.md +0 -0
  583. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/end/config.json +0 -0
  584. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/end/handler.py +0 -0
  585. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/fetch_image_uid/README.md +0 -0
  586. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/fetch_image_uid/config.json +0 -0
  587. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/fetch_image_uid/handler.py +0 -0
  588. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/get_current_time/README.md +0 -0
  589. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/get_current_time/callable.json +0 -0
  590. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/get_current_time/config.json +0 -0
  591. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/get_current_time/handler.py +0 -0
  592. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/get_picture/README.md +0 -0
  593. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/get_picture/config.json +0 -0
  594. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/get_picture/handler.py +0 -0
  595. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/get_user_info/README.md +0 -0
  596. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/get_user_info/config.json +0 -0
  597. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/get_user_info/handler.py +0 -0
  598. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/knowledge_list/README.md +0 -0
  599. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/knowledge_list/config.json +0 -0
  600. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/knowledge_list/handler.py +0 -0
  601. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/knowledge_semantic_search/README.md +0 -0
  602. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/knowledge_semantic_search/config.json +0 -0
  603. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/knowledge_semantic_search/handler.py +0 -0
  604. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/knowledge_text_search/README.md +0 -0
  605. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/knowledge_text_search/config.json +0 -0
  606. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/knowledge_text_search/handler.py +0 -0
  607. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/python_interpreter/README.md +0 -0
  608. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/python_interpreter/config.json +0 -0
  609. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/python_interpreter/handler.py +0 -0
  610. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/qq_like/README.md +0 -0
  611. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/qq_like/config.json +0 -0
  612. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/qq_like/handler.py +0 -0
  613. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/task_progress/README.md +0 -0
  614. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/task_progress/config.json +0 -0
  615. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/tools/task_progress/handler.py +0 -0
  616. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/README.md +0 -0
  617. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/__init__.py +0 -0
  618. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/attachments/README.md +0 -0
  619. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/config.json +0 -0
  620. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/handler.py +0 -0
  621. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/config.json +0 -0
  622. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/handler.py +0 -0
  623. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/automation/README.md +0 -0
  624. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/automation/_runtime.py +0 -0
  625. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/automation/create/config.json +0 -0
  626. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/automation/create/handler.py +0 -0
  627. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/automation/delete/config.json +0 -0
  628. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/automation/delete/handler.py +0 -0
  629. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/automation/get/config.json +0 -0
  630. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/automation/get/handler.py +0 -0
  631. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/automation/list/config.json +0 -0
  632. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/automation/list/handler.py +0 -0
  633. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/automation/set_enabled/config.json +0 -0
  634. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/automation/set_enabled/handler.py +0 -0
  635. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/automation/update/config.json +0 -0
  636. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/automation/update/handler.py +0 -0
  637. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/cognitive/README.md +0 -0
  638. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/cognitive/get_profile/config.json +0 -0
  639. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/cognitive/get_profile/handler.py +0 -0
  640. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/cognitive/search_events/config.json +0 -0
  641. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/cognitive/search_events/handler.py +0 -0
  642. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/cognitive/search_profiles/config.json +0 -0
  643. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/cognitive/search_profiles/handler.py +0 -0
  644. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/commands/README.md +0 -0
  645. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/commands/get/config.json +0 -0
  646. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/commands/get/handler.py +0 -0
  647. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/commands/search/config.json +0 -0
  648. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/commands/search/handler.py +0 -0
  649. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/contacts/README.md +0 -0
  650. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/contacts/query_friends/config.json +0 -0
  651. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/contacts/query_friends/handler.py +0 -0
  652. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/contacts/query_groups/config.json +0 -0
  653. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/contacts/query_groups/handler.py +0 -0
  654. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group/README.md +0 -0
  655. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group/find_member/config.json +0 -0
  656. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group/find_member/handler.py +0 -0
  657. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group/get_avatar/config.json +0 -0
  658. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group/get_avatar/handler.py +0 -0
  659. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group/get_files/config.json +0 -0
  660. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group/get_files/handler.py +0 -0
  661. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group/get_honor_info/config.json +0 -0
  662. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group/get_honor_info/handler.py +0 -0
  663. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group/get_member_info/config.json +0 -0
  664. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group/get_member_info/handler.py +0 -0
  665. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group/get_member_list/config.json +0 -0
  666. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group/get_member_list/handler.py +0 -0
  667. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group/get_member_title/config.json +0 -0
  668. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group/get_member_title/handler.py +0 -0
  669. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/README.md +0 -0
  670. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/activity_trend/config.json +0 -0
  671. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/activity_trend/handler.py +0 -0
  672. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/filter_members/config.json +0 -0
  673. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/filter_members/handler.py +0 -0
  674. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/config.json +0 -0
  675. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/handler.py +0 -0
  676. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/join_statistics/config.json +0 -0
  677. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/join_statistics/handler.py +0 -0
  678. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/level_distribution/config.json +0 -0
  679. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/level_distribution/handler.py +0 -0
  680. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/member_activity/config.json +0 -0
  681. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/member_activity/handler.py +0 -0
  682. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/member_messages/config.json +0 -0
  683. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/member_messages/handler.py +0 -0
  684. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/member_structure/config.json +0 -0
  685. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/member_structure/handler.py +0 -0
  686. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/message_mix/config.json +0 -0
  687. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/message_mix/handler.py +0 -0
  688. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/config.json +0 -0
  689. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/handler.py +0 -0
  690. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/rank_members/config.json +0 -0
  691. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/group_analysis/rank_members/handler.py +0 -0
  692. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/mcp/README.md +0 -0
  693. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/mcp/__init__.py +0 -0
  694. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/memes/README.md +0 -0
  695. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/memes/search_memes/config.json +0 -0
  696. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/memes/search_memes/handler.py +0 -0
  697. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/config.json +0 -0
  698. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/handler.py +0 -0
  699. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/memory/README.md +0 -0
  700. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/memory/add/config.json +0 -0
  701. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/memory/add/handler.py +0 -0
  702. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/memory/delete/config.json +0 -0
  703. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/memory/delete/handler.py +0 -0
  704. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/memory/list/config.json +0 -0
  705. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/memory/list/handler.py +0 -0
  706. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/memory/update/config.json +0 -0
  707. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/memory/update/handler.py +0 -0
  708. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/README.md +0 -0
  709. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/context_utils.py +0 -0
  710. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/get_forward_msg/config.json +0 -0
  711. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/get_forward_msg/handler.py +0 -0
  712. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/get_messages_by_time/config.json +0 -0
  713. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/get_messages_by_time/handler.py +0 -0
  714. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/get_recent_messages/config.json +0 -0
  715. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/get_recent_messages/handler.py +0 -0
  716. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/list_emojis/config.json +0 -0
  717. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/list_emojis/handler.py +0 -0
  718. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/config.json +0 -0
  719. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/handler.py +0 -0
  720. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/react_message_emoji/config.json +0 -0
  721. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/react_message_emoji/handler.py +0 -0
  722. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/send_group_sign/config.json +0 -0
  723. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/send_group_sign/handler.py +0 -0
  724. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/send_message/config.json +0 -0
  725. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/send_message/handler.py +0 -0
  726. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/send_poke/config.json +0 -0
  727. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/send_poke/handler.py +0 -0
  728. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/send_private_message/config.json +0 -0
  729. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/send_private_message/handler.py +0 -0
  730. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/send_text_file/callable.json +0 -0
  731. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/send_text_file/config.json +0 -0
  732. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/send_text_file/handler.py +0 -0
  733. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/send_url_file/callable.json +0 -0
  734. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/send_url_file/config.json +0 -0
  735. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/send_url_file/handler.py +0 -0
  736. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/send_voice/config.json +0 -0
  737. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/messages/send_voice/handler.py +0 -0
  738. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/README.md +0 -0
  739. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/_client.py +0 -0
  740. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/_constants.py +0 -0
  741. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/_tools.py +0 -0
  742. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/_track_refs.py +0 -0
  743. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/browse_playlists/config.json +0 -0
  744. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/browse_playlists/handler.py +0 -0
  745. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/browse_rankings/config.json +0 -0
  746. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/browse_rankings/handler.py +0 -0
  747. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/find_song_matches/config.json +0 -0
  748. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/find_song_matches/handler.py +0 -0
  749. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/get_audio/config.json +0 -0
  750. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/get_audio/handler.py +0 -0
  751. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/get_comments/config.json +0 -0
  752. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/get_comments/handler.py +0 -0
  753. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/get_cover/config.json +0 -0
  754. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/get_cover/handler.py +0 -0
  755. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/get_hot_search/config.json +0 -0
  756. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/get_hot_search/handler.py +0 -0
  757. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/get_lyrics/config.json +0 -0
  758. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/get_lyrics/handler.py +0 -0
  759. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/search_playlists/config.json +0 -0
  760. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/search_playlists/handler.py +0 -0
  761. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/search_songs/config.json +0 -0
  762. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/music/search_songs/handler.py +0 -0
  763. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/notices/README.md +0 -0
  764. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/notices/get/config.json +0 -0
  765. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/notices/get/handler.py +0 -0
  766. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/notices/list/config.json +0 -0
  767. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/notices/list/handler.py +0 -0
  768. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/notices/stats/config.json +0 -0
  769. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/notices/stats/handler.py +0 -0
  770. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/render/README.md +0 -0
  771. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/render/layout.py +0 -0
  772. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/render/render_html/config.json +0 -0
  773. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/render/render_html/handler.py +0 -0
  774. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/render/render_latex/config.json +0 -0
  775. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/render/render_latex/handler.py +0 -0
  776. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/render/render_markdown/config.json +0 -0
  777. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/skills/toolsets/render/render_markdown/handler.py +0 -0
  778. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/token_usage_storage.py +0 -0
  779. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/__init__.py +0 -0
  780. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/cache.py +0 -0
  781. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/coerce.py +0 -0
  782. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/common.py +0 -0
  783. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/cors.py +0 -0
  784. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/easter_egg_calls.py +0 -0
  785. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/fake_at.py +0 -0
  786. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/file_lock.py +0 -0
  787. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/group_metrics.py +0 -0
  788. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/history.py +0 -0
  789. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/http_download.py +0 -0
  790. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/io.py +0 -0
  791. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/logging.py +0 -0
  792. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/member_utils.py +0 -0
  793. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/message_reply.py +0 -0
  794. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/message_targets.py +0 -0
  795. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/message_turn.py +0 -0
  796. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/message_utils.py +0 -0
  797. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/paths.py +0 -0
  798. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/qq_emoji.py +0 -0
  799. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/queue_intervals.py +0 -0
  800. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/recent_messages.py +0 -0
  801. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/render_cache.py +0 -0
  802. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/request_params.py +0 -0
  803. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/resources.py +0 -0
  804. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/scheduler.py +0 -0
  805. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/self_update.py +0 -0
  806. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/sender.py +0 -0
  807. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/sender_helpers.py +0 -0
  808. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/time_utils.py +0 -0
  809. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/tool_calls.py +0 -0
  810. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/utils/xml.py +0 -0
  811. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/__init__.py +0 -0
  812. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/__main__.py +0 -0
  813. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/app.py +0 -0
  814. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/core.py +0 -0
  815. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/routes/__init__.py +0 -0
  816. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/routes/_auth.py +0 -0
  817. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/routes/_bot.py +0 -0
  818. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/routes/_config.py +0 -0
  819. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/routes/_index.py +0 -0
  820. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/routes/_logs.py +0 -0
  821. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/routes/_memes.py +0 -0
  822. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/routes/_runtime.py +0 -0
  823. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/routes/_shared.py +0 -0
  824. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/routes/_system.py +0 -0
  825. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/routes/_weixin.py +0 -0
  826. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/css/.stylelintrc.json +0 -0
  827. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/css/app.css +0 -0
  828. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/css/base.css +0 -0
  829. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/css/components.css +0 -0
  830. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/css/highlight-github.min.css +0 -0
  831. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/css/landing.css +0 -0
  832. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/css/responsive.css +0 -0
  833. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/css/style.css +0 -0
  834. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/css/variables.css +0 -0
  835. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/css/workflow.css +0 -0
  836. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/favicon.svg +0 -0
  837. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/api.js +0 -0
  838. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/auth.js +0 -0
  839. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/bot.js +0 -0
  840. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/config-form.js +0 -0
  841. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/i18n.js +0 -0
  842. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/log-view.js +0 -0
  843. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/logs.js +0 -0
  844. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/main.js +0 -0
  845. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/memes.js +0 -0
  846. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/runtime.js +0 -0
  847. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/schedules.js +0 -0
  848. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/state.js +0 -0
  849. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/ui.js +0 -0
  850. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/vendor/highlight.min.js +0 -0
  851. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/vendor/highlightjs.LICENSE +0 -0
  852. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/vendor/marked.min.js +0 -0
  853. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/weixin.js +0 -0
  854. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/workflow-canvas.js +0 -0
  855. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/workflow-graph.js +0 -0
  856. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/static/js/workflow-inspector.js +0 -0
  857. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/templates/index.html +0 -0
  858. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/utils/__init__.py +0 -0
  859. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/utils/comment.py +0 -0
  860. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/utils/config_io.py +0 -0
  861. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/utils/config_sync.py +0 -0
  862. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/webui/utils/toml_render.py +0 -0
  863. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/weixin/__init__.py +0 -0
  864. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/weixin/audio.py +0 -0
  865. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/weixin/models.py +0 -0
  866. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/weixin/service.py +0 -0
  867. {undefined_bot-3.17.2 → undefined_bot-3.18.0}/src/Undefined/weixin/store.py +0 -0
@@ -40,6 +40,12 @@ graph TB
40
40
  GitHubSender["sender.py<br/>图片卡片发送<br/>• 头像 • 简介 • 统计"]
41
41
  end
42
42
 
43
+ subgraph JmModule["JM 模块 (jm/)"]
44
+ JmParser["parser.py<br/>车号解析<br/>• JM+数字 • 禁漫链接 • 分享卡片"]
45
+ JmDownloader["downloader.py<br/>整本下载合成<br/>• jmcpy 逐章下载<br/>• 合并为加密 PDF"]
46
+ JmSender["sender.py<br/>合并转发发送<br/>• 信息/密码/PDF • 失败回退"]
47
+ end
48
+
43
49
  subgraph SecurityLayer["安全防线 (services/)"]
44
50
  SecurityService["SecurityService<br/>安全服务<br/>• 注入攻击检测<br/>• 速率限制<br/>[security.py]"]
45
51
  InjectionAgent["InjectionResponseAgent<br/>注入响应生成<br/>[injection_response_agent.py]"]
@@ -228,8 +234,13 @@ graph TB
228
234
  GitHubParser -->|"仓库ID"| GitHubClient
229
235
  GitHubClient -->|"public仓库信息"| GitHubSender
230
236
  GitHubSender -->|"发送图片卡片"| OneBotClient
231
-
232
- MessageHandler -->|"2.7 自动化"| AutomationService
237
+
238
+ MessageHandler -->|"2.7 非命令自动管线"| JmParser
239
+ JmParser -->|"车号"| JmDownloader
240
+ JmDownloader -->|"加密 PDF"| JmSender
241
+ JmSender -->|"发送合并转发"| OneBotClient
242
+
243
+ MessageHandler -->|"2.8 自动化"| AutomationService
233
244
  AutomationService -->|"读写"| AutomationStorage
234
245
  AutomationStorage -->|"异步读写"| IOUtils
235
246
 
@@ -850,6 +861,7 @@ description: 从 PDF 文件中提取文本和表格,填写表单。当用户
850
861
  | **Bilibili** | `bilibili.auto_extract_enabled`, `bilibili.cookie`, `bilibili.prefer_quality` | B站视频自动提取与下载 |
851
862
  | **arXiv** | `arxiv.auto_extract_enabled`, `arxiv.max_file_size`, `arxiv.auto_extract_max_items` | arXiv 论文自动提取、搜索与 PDF 发送 |
852
863
  | **GitHub** | `github.auto_extract_enabled`, `github.request_timeout_seconds`, `github.request_retries`, `github.auto_extract_max_items` | GitHub public 仓库自动提取与图片卡片发送 |
864
+ | **JM(禁漫)** | `jm.auto_extract_enabled`, `jm.max_file_size`, `jm.max_chapters`, `jm.auto_extract_max_items` | JM 车号自动提取、整本加密 PDF 与合并转发 |
853
865
  | **思考链** | `*.thinking_enabled` | 思维链支持 |
854
866
  | **思维链兼容** | `*.thinking_tool_call_compat` | 思维链 + 工具调用兼容 |
855
867
  | **WebUI** | `webui.url`, `webui.port`, `webui.password` | 配置控制台 |
@@ -1,3 +1,21 @@
1
+ ## v3.18.0 JM 漫画自动提取
2
+
3
+ 本版本新增禁漫自动提取管线:消息里出现 `JM` 车号或禁漫链接时,自动获取本子详情、把全部章节合成为一个带密码的 PDF,以「本子信息 / 解密密码 / PDF 文件」三节点合并转发发送(文件只放在转发里,群聊下同时进入群文件列表),并新增与 `arxiv_paper` 同构的 `jm_book` 工具供 AI 按需取详情或附件。功能默认关闭,密码随机生成且不写进历史。
4
+
5
+ - 新增 `jm` 自动处理管线(`src/Undefined/skills/pipelines/jm/`,`order = 12`)与 `src/Undefined/jm/`(车号解析、jmcpy 客户端设置、整本下载合成、合并转发发送),依赖新增并固定到 `jmcpy>=0.1.3`。
6
+ - 触发规则:`JM` 前缀加 5–8 位车号(`JM1114751` / `jm 1114751` / `jm:1114751` / `jm-1114751`,大小写不敏感),以及主机名含 `18comic` 或 `jmcomic` 的链接(`/album/<id>`、`/photo/<id>`、`?id=<id>`),QQ 分享卡片里的链接同样解析,车号与链接混排时按原文出现顺序取(默认只取第一个);分享卡片结构异常(`data` 不是对象、JSON 损坏)只跳过该段,不影响同一条消息里其它段落的检测。前缀必须落在词边界上(`xxjm1234567`、`t.me/jm1234567`、`video_jm1234567.mp4` 都不触发),数字后不跟数字(9 位以上不会被截成 8 位);裸数字不触发,避免群号、时间戳误报。
7
+ - 下载与合成:按章节 `order` 顺序逐章下载(`[jm].max_chapters` 可限制),`decode=False` 取服务端原始字节无损落盘,自己解扰后每页只编码一次 JPEG(`[jm].image_quality`,色度 4:4:4)并直接作为 PDF 图像数据;页尺寸统一按 `[jm].pdf_dpi` 换算(页宽 = 像素宽 ÷ DPI × 72),页像素始终不缩放,画质上限由站点源图分辨率决定。不再复用 `jmcpy.imaging.write_pdf`:jmcpy 的下载 API 一章只能产出一个 PDF,而这里要把多个章节合进同一个文件;`jmcpy>=0.1.3` 修掉了追加页退回默认 72 DPI、同份 PDF 内页面尺寸不一致的问题,并把页内 JPEG 色度采样默认值改成 4:4:4。
8
+ - 逐页容错:单页解码失败只跳过该页并计入「下载失败 N 页」,其余页照常出 PDF,全部页失败才算空结果;动图(`.gif`)不做分块还原,与 jmcpy 的 `UNDECODED_SUFFIXES` 语义一致。
9
+ - 体积语义:`[jm].max_file_size` 先按各章节原始图片累计预判并停止下载,组装时再按**编码后字节**累计复核,超过即提前中止、PDF 不落盘;因此它只是近似内存上限(JPEG 重编码可能比源图更大)。超过上限或没有下到任何页面时只发信息与状态两个节点,不发密码与文件,且信息里不展示 PDF 大小。
10
+ - 发送结构固定为三个节点:本子信息(车号、标题、作者、章节数、标签、观看/点赞、页数、大小、简介预览,末行是可直接复制的 `JM<车号>`,不再输出站点链接)、PDF 解密密码(每次随机生成 8 位,字母表去掉 `0/O/1/l/I` 等形近字符)、PDF 文件(本地合成后随转发上传)。密码只出现在转发节点中,写入历史的摘要只说「密码见转发节点」,后续 AI 轮次不会复述密码。
11
+ - 文件只放在转发里,不额外发独立文件消息:群聊下 NapCat 会把它作为群文件上传(`isGroupFile`、`busid=102`,元素里带 `fileId` / `fileMd5` / `fileSha1`),节点里的文件可以直接下载,同一个 PDF 因此也会出现在群文件列表里。
12
+ - 投递语义:「投递结果未确认」(`delivery_uncertain`)与「文件传输错误」(`file_transfer_error`)不降级重发,直接上抛调用方——这两种情况下转发可能已经送达,换个 action 再发会造成真实重复投递;只有协议端明确拒绝才退化为「信息 + 密码两条普通消息 + 独立文件消息」(此时文件没有别的入口),该路径的密码消息写历史时只记「PDF 解密密码已单独发送」,上传也失败时再补一条不写历史的提示。
13
+ - 失败与资源:车号不存在或接口不可用时发送一行 `JM 提取失败:<原因>` 并记录异常类型与堆栈;整本下载跑在模块专用线程池(同时最多 2 本)而不是事件循环默认执行器;任务目录在成功、超限、空结果与下载抛异常四条路径上都会清理;被取消时线程仍在写盘,改为等它跑完再删,不留下残留原图或未加密 PDF。
14
+ - 新增 `jm_book` 工具(`src/Undefined/skills/tools/jm_book/`,与 `arxiv_paper` 同构):`output_mode=send`(默认,等价自动提取)、`uid`(只下载并注册**未加密** PDF 附件 UID,不发送消息,供 `file_analysis_agent` 用 `extract_pdf` / `describe_pdf_page` 解析)、`info`(只返回标题/作者/章节/标签/观看点赞/简介与链接,不下载);`callable.json` 把它共享给 `file_analysis_agent`,后者提示词里加了「车号/链接 → 先 `jm_book(output_mode="uid")`」的规则。
15
+ - 新增 `[jm]` 配置段:`auto_extract_enabled`(默认 `false`)、`use_proxy`、`auto_extract_group_ids` / `auto_extract_private_ids`(空时跟随全局 access)、`auto_extract_max_items`(默认 1,上限 5)、`max_file_size`、`max_chapters`、`pdf_dpi`、`image_quality`、`download_concurrency`、`request_timeout`、`image_timeout`、`session_dir`(jmcpy 配置目录,可复用已保存的登录态);`[jm].use_proxy` 支持环境变量 `JM_USE_PROXY`。
16
+
17
+ ---
18
+
1
19
  ## v3.17.2 侧写有序合并
2
20
 
3
21
  本版本修复群聊与用户侧写并发更新时的乱序覆盖:同一实体按史官任务入队顺序逐次合并,每次都基于前一次提交后的完整侧写;不同实体继续并发处理,QQ 与绑定的 iLink 私聊也遵循同一用户顺序。
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: Undefined-bot
3
- Version: 3.17.2
3
+ Version: 3.18.0
4
4
  Summary: QQ bot platform with cognitive memory architecture and multi-agent Skills, via OneBot V11.
5
5
  Project-URL: Repository, https://github.com/69gg/Undefined
6
6
  Project-URL: Issues, https://github.com/69gg/Undefined/issues
@@ -16,6 +16,7 @@ Requires-Dist: chromadb>=1.5.5
16
16
  Requires-Dist: crawl4ai>=0.8.6
17
17
  Requires-Dist: fastmcp>=3.1.1
18
18
  Requires-Dist: httpx>=0.27.0
19
+ Requires-Dist: jmcpy>=0.1.3
19
20
  Requires-Dist: langchain-community>=0.3.0
20
21
  Requires-Dist: linkify-it-py>=2.0.3
21
22
  Requires-Dist: lunar-python>=1.4.8
@@ -121,7 +122,8 @@ Description-Content-Type: text/markdown
121
122
  - **可选音乐工具集**:配置独立部署的 [lxmusic2api](https://github.com/69gg/lxmusic2api) 后,主 AI 可搜索歌曲/歌单、浏览热搜与排行榜、读取歌词/封面/评论、跨平台匹配并交付普通音频附件;完整 Track 通过任务内短引用流转,只暴露面向用户的高层 `music.*` 能力,不暴露下载作业生命周期接口。详见 [使用指南](docs/usage.md#音乐-music) 与 [配置说明](docs/configuration.md#4201-lxmusic2api-音乐服务)。
122
123
  - **arXiv 论文提取、搜索与分析**:自动检测消息中的 arXiv 链接/标识并发送论文信息与 PDF;`arxiv_paper` 也可只返回 PDF 附件 UID,供 `file_analysis_agent` 做文本提取或指定页视觉分析;`arxiv_search` 负责论文检索。
123
124
  - **GitHub 仓库卡片**:自动检测 GitHub 仓库链接或 `owner/repo` 仓库 ID,获取 public 仓库信息并发送简洁图片卡片,展示头像、简介、stars、forks、issues、contributors 等概览;API 与头像下载统一遵循 `[github].use_proxy`,头像以内联资源进入离线渲染器。
124
- - **自动处理管线**:Bilibili、arXiv、GitHub 等自动提取统一运行在 `skills/pipelines` 中,斜杠命令优先级更高;命令输入/输出会写入历史,非命令消息会并行检测和处理命中管线,结果通过统一发送层写入历史并登记附件 UID 后再进入 AI 回复。远程大附件超过 `[attachments].remote_download_max_size_mb` 时只登记 URL 引用,避免无界下载和缓存膨胀。
125
+ - **禁漫(JM)本子提取**:自动检测 `JM`+车号或禁漫链接,下载全部章节并合成为一个 AES-256 加密 PDF,以「本子信息 / 解密密码 / PDF 文件」三节点合并转发发送(文件只在转发里,群聊下同时进入群文件列表),密码每次随机生成且不写入历史;`jm_book` 工具也可只返回本子信息或未加密 PDF 附件 UID,供 `file_analysis_agent` 解析。默认关闭,`[jm].auto_extract_enabled` 打开。详见 [配置说明](docs/configuration.md#4203-jm-禁漫自动提取)。
126
+ - **自动处理管线**:Bilibili、arXiv、GitHub、JM 等自动提取统一运行在 `skills/pipelines` 中,斜杠命令优先级更高;命令输入/输出会写入历史,非命令消息会并行检测和处理命中管线,结果通过统一发送层写入历史并登记附件 UID 后再进入 AI 回复。远程大附件超过 `[attachments].remote_download_max_size_mb` 时只登记 URL 引用,避免无界下载和缓存膨胀。
125
127
  - **同 sender 短时消息合并**:默认开启。连续发的多条消息会合并到同一轮 AI 调用,AI 一次看到全部意图自行识别"独立请求/修正/打断";告别"画猫→改成狗"的重复触发与回复打架。主提示词按 batcher 的"当前输入批次"语义适配,关闭该功能可能导致连续补充/修正消息与提示词不匹配,需要单独适配。可选投机预发送让用户停顿时 LLM 提前开跑、新消息可在未发出回复前取消,进一步压低响应延迟。详见 [docs/message-batching.md](docs/message-batching.md)。
126
128
  - **思维链支持**:支持开启思维链,提升复杂逻辑推理能力。
127
129
  - **高并发架构**:基于 `asyncio` 全异步设计,支持多队列消息处理与工具并发执行,轻松应对高并发场景。
@@ -70,7 +70,8 @@
70
70
  - **可选音乐工具集**:配置独立部署的 [lxmusic2api](https://github.com/69gg/lxmusic2api) 后,主 AI 可搜索歌曲/歌单、浏览热搜与排行榜、读取歌词/封面/评论、跨平台匹配并交付普通音频附件;完整 Track 通过任务内短引用流转,只暴露面向用户的高层 `music.*` 能力,不暴露下载作业生命周期接口。详见 [使用指南](docs/usage.md#音乐-music) 与 [配置说明](docs/configuration.md#4201-lxmusic2api-音乐服务)。
71
71
  - **arXiv 论文提取、搜索与分析**:自动检测消息中的 arXiv 链接/标识并发送论文信息与 PDF;`arxiv_paper` 也可只返回 PDF 附件 UID,供 `file_analysis_agent` 做文本提取或指定页视觉分析;`arxiv_search` 负责论文检索。
72
72
  - **GitHub 仓库卡片**:自动检测 GitHub 仓库链接或 `owner/repo` 仓库 ID,获取 public 仓库信息并发送简洁图片卡片,展示头像、简介、stars、forks、issues、contributors 等概览;API 与头像下载统一遵循 `[github].use_proxy`,头像以内联资源进入离线渲染器。
73
- - **自动处理管线**:Bilibili、arXiv、GitHub 等自动提取统一运行在 `skills/pipelines` 中,斜杠命令优先级更高;命令输入/输出会写入历史,非命令消息会并行检测和处理命中管线,结果通过统一发送层写入历史并登记附件 UID 后再进入 AI 回复。远程大附件超过 `[attachments].remote_download_max_size_mb` 时只登记 URL 引用,避免无界下载和缓存膨胀。
73
+ - **禁漫(JM)本子提取**:自动检测 `JM`+车号或禁漫链接,下载全部章节并合成为一个 AES-256 加密 PDF,以「本子信息 / 解密密码 / PDF 文件」三节点合并转发发送(文件只在转发里,群聊下同时进入群文件列表),密码每次随机生成且不写入历史;`jm_book` 工具也可只返回本子信息或未加密 PDF 附件 UID,供 `file_analysis_agent` 解析。默认关闭,`[jm].auto_extract_enabled` 打开。详见 [配置说明](docs/configuration.md#4203-jm-禁漫自动提取)。
74
+ - **自动处理管线**:Bilibili、arXiv、GitHub、JM 等自动提取统一运行在 `skills/pipelines` 中,斜杠命令优先级更高;命令输入/输出会写入历史,非命令消息会并行检测和处理命中管线,结果通过统一发送层写入历史并登记附件 UID 后再进入 AI 回复。远程大附件超过 `[attachments].remote_download_max_size_mb` 时只登记 URL 引用,避免无界下载和缓存膨胀。
74
75
  - **同 sender 短时消息合并**:默认开启。连续发的多条消息会合并到同一轮 AI 调用,AI 一次看到全部意图自行识别"独立请求/修正/打断";告别"画猫→改成狗"的重复触发与回复打架。主提示词按 batcher 的"当前输入批次"语义适配,关闭该功能可能导致连续补充/修正消息与提示词不匹配,需要单独适配。可选投机预发送让用户停顿时 LLM 提前开跑、新消息可在未发出回复前取消,进一步压低响应延迟。详见 [docs/message-batching.md](docs/message-batching.md)。
75
76
  - **思维链支持**:支持开启思维链,提升复杂逻辑推理能力。
76
77
  - **高并发架构**:基于 `asyncio` 全异步设计,支持多队列消息处理与工具并发执行,轻松应对高并发场景。
@@ -1572,6 +1572,49 @@ auto_extract_private_ids = []
1572
1572
  # en: Max number of GitHub repositories to auto-process from one message. <=0 falls back to 3, >10 is clamped to 10.
1573
1573
  auto_extract_max_items = 3
1574
1574
 
1575
+ # zh: 禁漫(JM / 18comic)自动提取配置。命中后下载整本并合成为一个加密 PDF,以合并转发发送(信息 / 解密密码 / PDF 文件)。
1576
+ # en: JM (18comic) auto-extraction settings. On match, the whole book is downloaded, merged into one encrypted PDF, and sent as a merged forward (info / password / PDF file).
1577
+ [jm]
1578
+ # zh: 是否让禁漫接口与图片下载使用 [proxy] 代理地址。默认关闭。
1579
+ # en: Whether JM API and image downloads use proxy addresses from [proxy]. Disabled by default.
1580
+ use_proxy = false
1581
+ # zh: 是否启用自动提取(检测到 JM+数字车号或禁漫链接时自动下载并发送)。默认关闭。
1582
+ # en: Enable auto-extraction (auto-download and send when JM book IDs or JM links are detected). Disabled by default.
1583
+ auto_extract_enabled = false
1584
+ # zh: 自动提取功能的群聊白名单(空=跟随全局 access.allowed_group_ids)。
1585
+ # en: Group allowlist for auto-extraction (empty = follow global access.allowed_group_ids).
1586
+ auto_extract_group_ids = []
1587
+ # zh: 自动提取功能的私聊白名单(空=跟随全局 access.allowed_private_ids)。
1588
+ # en: Private chat allowlist for auto-extraction (empty = follow global access.allowed_private_ids).
1589
+ auto_extract_private_ids = []
1590
+ # zh: 单条消息最多自动处理几个车号。<=0 回退 1,>5 截断到 5;每项是一整本 PDF,所以默认只处理 1 个。
1591
+ # en: Max number of book IDs to auto-process from one message. <=0 falls back to 1, >5 is clamped to 5; each item is a whole-book PDF, so only one is processed by default.
1592
+ auto_extract_max_items = 1
1593
+ # zh: PDF 体积上限(MB),超过则只发送信息节点(按编码后字节判定,合成中即会中止)。0=不限,<0 回退 100。
1594
+ # en: PDF size limit in MB; exceeding it sends the info node only (checked on encoded bytes, aborts mid-build). 0=unlimited, <0 falls back to 100.
1595
+ max_file_size = 100
1596
+ # zh: 单本最多下载并合并几章(取前 N 章)。0=不限(全部章节),<0 回退 0。
1597
+ # en: Max chapters downloaded and merged per book (first N). 0=unlimited, <0 falls back to 0.
1598
+ max_chapters = 0
1599
+ # zh: PDF 页面分辨率(DPI),所有页统一按它换算物理尺寸(页宽 = 像素宽 ÷ DPI × 72)。<=0 回退 150。页像素不做缩放。
1600
+ # en: PDF page resolution (DPI); every page uses it for its physical size (page width = pixels / DPI * 72). <=0 falls back to 150. Page pixels are never rescaled.
1601
+ pdf_dpi = 150.0
1602
+ # zh: PDF 内页 JPEG 质量(1-100,色度 4:4:4,每页只编码一次)。<1 回退 95,>100 截断到 100;提高到 98/100 约增加 30%/50% 体积。
1603
+ # en: JPEG quality for PDF pages (1-100, chroma 4:4:4, exactly one encode per page). <1 falls back to 95, >100 is clamped to 100; 98/100 costs roughly 30%/50% more size.
1604
+ image_quality = 95
1605
+ # zh: 图片下载并发数。<1 回退 8,>32 截断到 32。
1606
+ # en: Image download concurrency. <1 falls back to 8, >32 is clamped to 32.
1607
+ download_concurrency = 8
1608
+ # zh: 接口请求超时(秒)。<=0 回退 20,>120 截断到 120。
1609
+ # en: API request timeout (seconds). <=0 falls back to 20, >120 is clamped to 120.
1610
+ request_timeout = 20.0
1611
+ # zh: 图片下载超时(秒)。<=0 回退 60,>600 截断到 600。
1612
+ # en: Image download timeout (seconds). <=0 falls back to 60, >600 is clamped to 600.
1613
+ image_timeout = 60.0
1614
+ # zh: jmcpy 的配置目录(登录态与会话文件所在目录,可指向已登录的 JMCPY_HOME)。留空使用平台默认目录。
1615
+ # en: jmcpy config directory (login session files; point it at an existing JMCPY_HOME). Empty uses the platform default directory.
1616
+ session_dir = ""
1617
+
1575
1618
  # zh: Code Delivery Agent 配置(代码交付 Agent,在 Docker 容器中编写代码并打包上传)。
1576
1619
  # en: Code Delivery Agent settings (writes code in Docker containers and delivers packaged results).
1577
1620
  [code_delivery]
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "Undefined-bot"
3
- version = "3.17.2"
3
+ version = "3.18.0"
4
4
  description = "QQ bot platform with cognitive memory architecture and multi-agent Skills, via OneBot V11."
5
5
  readme = "README.md"
6
6
  authors = [
@@ -48,6 +48,7 @@ dependencies = [
48
48
  "silk-python>=0.2.8,<0.3.0",
49
49
  "qrcode>=8.2,<9.0",
50
50
  "regex>=2026.2.28",
51
+ "jmcpy>=0.1.3",
51
52
  ]
52
53
 
53
54
  [project.urls]
@@ -24,7 +24,7 @@ if TYPE_CHECKING:
24
24
  from .skills.registry import BaseRegistry as BaseRegistry
25
25
  from .skills.tools import ToolRegistry as ToolRegistry
26
26
 
27
- __version__: str = "3.17.2"
27
+ __version__: str = "3.18.0"
28
28
 
29
29
  # symbol -> (module_path, attribute_name);首次访问时才 importlib 加载
30
30
  _LAZY_IMPORTS: dict[str, tuple[str, str]] = {
@@ -241,6 +241,20 @@ class Config:
241
241
  github_auto_extract_group_ids: list[int]
242
242
  github_auto_extract_private_ids: list[int]
243
243
  github_auto_extract_max_items: int
244
+ # JM(禁漫)自动提取
245
+ jm_use_proxy: bool
246
+ jm_auto_extract_enabled: bool
247
+ jm_auto_extract_group_ids: list[int]
248
+ jm_auto_extract_private_ids: list[int]
249
+ jm_auto_extract_max_items: int
250
+ jm_max_file_size: int
251
+ jm_max_chapters: int
252
+ jm_pdf_dpi: float
253
+ jm_image_quality: int
254
+ jm_download_concurrency: int
255
+ jm_request_timeout: float
256
+ jm_image_timeout: float
257
+ jm_session_dir: str
244
258
  # 认知记忆
245
259
  cognitive: CognitiveConfig
246
260
  # 表情包库
@@ -321,6 +335,16 @@ class Config:
321
335
  init=False,
322
336
  repr=False,
323
337
  )
338
+ _jm_group_ids_set: set[int] = dataclass_field(
339
+ default_factory=set,
340
+ init=False,
341
+ repr=False,
342
+ )
343
+ _jm_private_ids_set: set[int] = dataclass_field(
344
+ default_factory=set,
345
+ init=False,
346
+ repr=False,
347
+ )
324
348
 
325
349
  def __post_init__(self) -> None:
326
350
  self._refresh_runtime_sets()
@@ -359,6 +383,10 @@ class Config:
359
383
  self._github_private_ids_set = {
360
384
  int(item) for item in self.github_auto_extract_private_ids
361
385
  }
386
+ self._jm_group_ids_set = {int(item) for item in self.jm_auto_extract_group_ids}
387
+ self._jm_private_ids_set = {
388
+ int(item) for item in self.jm_auto_extract_private_ids
389
+ }
362
390
 
363
391
  @classmethod
364
392
  def load(cls, config_path: Optional[Path] = None, strict: bool = True) -> "Config":
@@ -553,6 +581,18 @@ class Config:
553
581
  return int(user_id) in self._github_private_ids_set
554
582
  return self.is_private_allowed(user_id)
555
583
 
584
+ def is_jm_auto_extract_allowed_group(self, group_id: int) -> bool:
585
+ """群聊是否允许 JM 自动提取。"""
586
+ if self._jm_group_ids_set:
587
+ return int(group_id) in self._jm_group_ids_set
588
+ return self.is_group_allowed(group_id)
589
+
590
+ def is_jm_auto_extract_allowed_private(self, user_id: int) -> bool:
591
+ """私聊是否允许 JM 自动提取。"""
592
+ if self._jm_private_ids_set:
593
+ return int(user_id) in self._jm_private_ids_set
594
+ return self.is_private_allowed(user_id)
595
+
556
596
  def should_process_group_message(self, is_at_bot: bool) -> bool:
557
597
  """是否处理该条群消息。"""
558
598
 
@@ -72,6 +72,7 @@ ENV_REGISTRY: Final[dict[tuple[str, ...], str]] = {
72
72
  ("history", "max_records"): "HISTORY_MAX_RECORDS",
73
73
  ("image_gen", "use_proxy"): "IMAGE_GEN_USE_PROXY",
74
74
  ("image_gen", "provider"): "IMAGE_GEN_PROVIDER",
75
+ ("jm", "use_proxy"): "JM_USE_PROXY",
75
76
  ("logging", "backup_count"): "LOG_BACKUP_COUNT",
76
77
  ("logging", "file_path"): "LOG_FILE_PATH",
77
78
  ("logging", "level"): "LOG_LEVEL",
@@ -27,6 +27,17 @@ _MAX_GITHUB_REQUEST_TIMEOUT_SECONDS: float = 60.0
27
27
  _MAX_GITHUB_REQUEST_RETRIES: int = 5
28
28
  _DEFAULT_GITHUB_AUTO_EXTRACT_MAX_ITEMS: int = 3
29
29
  _MAX_GITHUB_AUTO_EXTRACT_MAX_ITEMS: int = 10
30
+ _DEFAULT_JM_REQUEST_TIMEOUT_SECONDS: float = 20.0
31
+ _MAX_JM_REQUEST_TIMEOUT_SECONDS: float = 120.0
32
+ _DEFAULT_JM_IMAGE_TIMEOUT_SECONDS: float = 60.0
33
+ _MAX_JM_IMAGE_TIMEOUT_SECONDS: float = 600.0
34
+ _DEFAULT_JM_AUTO_EXTRACT_MAX_ITEMS: int = 1
35
+ _MAX_JM_AUTO_EXTRACT_MAX_ITEMS: int = 5
36
+ _DEFAULT_JM_MAX_FILE_SIZE_MB: int = 100
37
+ _DEFAULT_JM_PDF_DPI: float = 150.0
38
+ _DEFAULT_JM_IMAGE_QUALITY: int = 95
39
+ _DEFAULT_JM_DOWNLOAD_CONCURRENCY: int = 8
40
+ _MAX_JM_DOWNLOAD_CONCURRENCY: int = 32
30
41
  _DEFAULT_LXMUSIC2API_BASE_URL: str = "http://127.0.0.1:3000"
31
42
 
32
43
 
@@ -221,6 +232,73 @@ def load_integrations(
221
232
  if github_auto_extract_max_items > _MAX_GITHUB_AUTO_EXTRACT_MAX_ITEMS:
222
233
  github_auto_extract_max_items = _MAX_GITHUB_AUTO_EXTRACT_MAX_ITEMS
223
234
 
235
+ # JM(禁漫)配置
236
+ jm_use_proxy = _coerce_bool(
237
+ _get_value(data, ("jm", "use_proxy"), "JM_USE_PROXY"), False
238
+ )
239
+ jm_auto_extract_enabled = _coerce_bool(
240
+ _get_value(data, ("jm", "auto_extract_enabled"), None), False
241
+ )
242
+ jm_auto_extract_group_ids = _coerce_int_list(
243
+ _get_value(data, ("jm", "auto_extract_group_ids"), None)
244
+ )
245
+ jm_auto_extract_private_ids = _coerce_int_list(
246
+ _get_value(data, ("jm", "auto_extract_private_ids"), None)
247
+ )
248
+ jm_auto_extract_max_items = _coerce_int(
249
+ _get_value(data, ("jm", "auto_extract_max_items"), None),
250
+ _DEFAULT_JM_AUTO_EXTRACT_MAX_ITEMS,
251
+ )
252
+ if jm_auto_extract_max_items <= 0:
253
+ jm_auto_extract_max_items = _DEFAULT_JM_AUTO_EXTRACT_MAX_ITEMS
254
+ if jm_auto_extract_max_items > _MAX_JM_AUTO_EXTRACT_MAX_ITEMS:
255
+ jm_auto_extract_max_items = _MAX_JM_AUTO_EXTRACT_MAX_ITEMS
256
+ jm_max_file_size = _coerce_int(
257
+ _get_value(data, ("jm", "max_file_size"), None), _DEFAULT_JM_MAX_FILE_SIZE_MB
258
+ )
259
+ if jm_max_file_size < 0:
260
+ jm_max_file_size = _DEFAULT_JM_MAX_FILE_SIZE_MB
261
+ jm_max_chapters = _coerce_int(_get_value(data, ("jm", "max_chapters"), None), 0)
262
+ if jm_max_chapters < 0:
263
+ jm_max_chapters = 0
264
+ jm_pdf_dpi = _coerce_float(
265
+ _get_value(data, ("jm", "pdf_dpi"), None), _DEFAULT_JM_PDF_DPI
266
+ )
267
+ if jm_pdf_dpi <= 0:
268
+ jm_pdf_dpi = _DEFAULT_JM_PDF_DPI
269
+ jm_image_quality = _coerce_int(
270
+ _get_value(data, ("jm", "image_quality"), None), _DEFAULT_JM_IMAGE_QUALITY
271
+ )
272
+ if jm_image_quality < 1:
273
+ jm_image_quality = _DEFAULT_JM_IMAGE_QUALITY
274
+ if jm_image_quality > 100:
275
+ jm_image_quality = 100
276
+ jm_download_concurrency = _coerce_int(
277
+ _get_value(data, ("jm", "download_concurrency"), None),
278
+ _DEFAULT_JM_DOWNLOAD_CONCURRENCY,
279
+ )
280
+ if jm_download_concurrency < 1:
281
+ jm_download_concurrency = _DEFAULT_JM_DOWNLOAD_CONCURRENCY
282
+ if jm_download_concurrency > _MAX_JM_DOWNLOAD_CONCURRENCY:
283
+ jm_download_concurrency = _MAX_JM_DOWNLOAD_CONCURRENCY
284
+ jm_request_timeout = _coerce_float(
285
+ _get_value(data, ("jm", "request_timeout"), None),
286
+ _DEFAULT_JM_REQUEST_TIMEOUT_SECONDS,
287
+ )
288
+ if jm_request_timeout <= 0:
289
+ jm_request_timeout = _DEFAULT_JM_REQUEST_TIMEOUT_SECONDS
290
+ if jm_request_timeout > _MAX_JM_REQUEST_TIMEOUT_SECONDS:
291
+ jm_request_timeout = _MAX_JM_REQUEST_TIMEOUT_SECONDS
292
+ jm_image_timeout = _coerce_float(
293
+ _get_value(data, ("jm", "image_timeout"), None),
294
+ _DEFAULT_JM_IMAGE_TIMEOUT_SECONDS,
295
+ )
296
+ if jm_image_timeout <= 0:
297
+ jm_image_timeout = _DEFAULT_JM_IMAGE_TIMEOUT_SECONDS
298
+ if jm_image_timeout > _MAX_JM_IMAGE_TIMEOUT_SECONDS:
299
+ jm_image_timeout = _MAX_JM_IMAGE_TIMEOUT_SECONDS
300
+ jm_session_dir = _coerce_str(_get_value(data, ("jm", "session_dir"), None), "")
301
+
224
302
  # Code Delivery Agent 配置
225
303
  code_delivery_enabled = _coerce_bool(
226
304
  _get_value(data, ("code_delivery", "enabled"), None), True
@@ -386,6 +464,19 @@ def load_integrations(
386
464
  "github_auto_extract_group_ids": github_auto_extract_group_ids,
387
465
  "github_auto_extract_private_ids": github_auto_extract_private_ids,
388
466
  "github_auto_extract_max_items": github_auto_extract_max_items,
467
+ "jm_use_proxy": jm_use_proxy,
468
+ "jm_auto_extract_enabled": jm_auto_extract_enabled,
469
+ "jm_auto_extract_group_ids": jm_auto_extract_group_ids,
470
+ "jm_auto_extract_private_ids": jm_auto_extract_private_ids,
471
+ "jm_auto_extract_max_items": jm_auto_extract_max_items,
472
+ "jm_max_file_size": jm_max_file_size,
473
+ "jm_max_chapters": jm_max_chapters,
474
+ "jm_pdf_dpi": jm_pdf_dpi,
475
+ "jm_image_quality": jm_image_quality,
476
+ "jm_download_concurrency": jm_download_concurrency,
477
+ "jm_request_timeout": jm_request_timeout,
478
+ "jm_image_timeout": jm_image_timeout,
479
+ "jm_session_dir": jm_session_dir,
389
480
  "code_delivery_enabled": code_delivery_enabled,
390
481
  "code_delivery_task_root": code_delivery_task_root,
391
482
  "code_delivery_docker_image": code_delivery_docker_image,
@@ -148,6 +148,29 @@ class AutoExtractMixin:
148
148
 
149
149
  return repo_ids
150
150
 
151
+ def _extract_jm_ids(
152
+ self, text: str, message_content: list[dict[str, Any]]
153
+ ) -> list[str]:
154
+ """从文本和消息段中提取禁漫(JM)车号。"""
155
+ from Undefined.jm.parser import extract_from_json_message, extract_jm_ids
156
+
157
+ book_ids: list[str] = []
158
+ seen: set[str] = set()
159
+
160
+ for book_id in extract_jm_ids(text):
161
+ if book_id in seen:
162
+ continue
163
+ seen.add(book_id)
164
+ book_ids.append(book_id)
165
+
166
+ for book_id in extract_from_json_message(message_content):
167
+ if book_id in seen:
168
+ continue
169
+ seen.add(book_id)
170
+ book_ids.append(book_id)
171
+
172
+ return book_ids
173
+
151
174
  async def _handle_bilibili_extract(
152
175
  self,
153
176
  target_id: int,
@@ -399,3 +422,49 @@ class AutoExtractMixin:
399
422
  type(exc).__name__,
400
423
  exc,
401
424
  )
425
+
426
+ async def _handle_jm_extract(
427
+ self,
428
+ target_id: int,
429
+ book_ids: list[str],
430
+ target_type: str,
431
+ sender: Any | None = None,
432
+ ) -> None:
433
+ """处理禁漫(JM)自动提取和发送。"""
434
+ from Undefined.jm.sender import send_jm_book
435
+
436
+ max_items = max(1, int(getattr(self.config, "jm_auto_extract_max_items", 1)))
437
+ resolved_sender = sender or self.sender
438
+ for book_id in book_ids[:max_items]:
439
+ try:
440
+ result = await send_jm_book(
441
+ book_id,
442
+ sender=resolved_sender,
443
+ target_type=target_type, # type: ignore[arg-type]
444
+ target_id=target_id,
445
+ config=self.config,
446
+ )
447
+ logger.info(
448
+ "[JM] 自动提取完成 %s → %s:%s: %s",
449
+ book_id,
450
+ target_type,
451
+ target_id,
452
+ result,
453
+ )
454
+ except Exception as exc:
455
+ logger.exception(
456
+ "[JM] 自动提取失败 %s → %s:%s: exc_type=%s exc=%r",
457
+ book_id,
458
+ target_type,
459
+ target_id,
460
+ type(exc).__name__,
461
+ exc,
462
+ )
463
+ try:
464
+ error_msg = f"JM 提取失败:{exc}"
465
+ if target_type == "group":
466
+ await resolved_sender.send_group_message(target_id, error_msg)
467
+ else:
468
+ await resolved_sender.send_private_message(target_id, error_msg)
469
+ except Exception:
470
+ pass
@@ -0,0 +1 @@
1
+ """禁漫(JM / 18comic)自动提取:标识解析、PDF 下载合成与合并转发。"""
@@ -0,0 +1,29 @@
1
+ """jmcpy 客户端设置。
2
+
3
+ jmcpy 的接口与图片 CDN 都走 HTTPS,因此这里只按 scheme 取 ``[proxy]`` 里的代理,
4
+ 再叠加 ``[jm]`` 的超时、并发与会话目录。
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ from pathlib import Path
10
+ from typing import Any
11
+
12
+ from jmcpy import Settings
13
+
14
+ from Undefined.skills.http_config import get_request_proxy
15
+
16
+ #: 仅用于按 scheme 选择代理地址(jmcpy 的请求全部是 HTTPS)
17
+ _PROXY_PROBE_URL = "https://18comic.vip"
18
+
19
+
20
+ def build_settings(config: Any) -> Settings:
21
+ """把 ``[jm]`` 配置映射成 jmcpy 的 :class:`~jmcpy.Settings`。"""
22
+ home = str(getattr(config, "jm_session_dir", "") or "").strip()
23
+ return Settings(
24
+ proxy=get_request_proxy(_PROXY_PROBE_URL, proxy_scope="jm", config=config),
25
+ timeout=float(getattr(config, "jm_request_timeout", 20.0)),
26
+ image_timeout=float(getattr(config, "jm_image_timeout", 60.0)),
27
+ concurrency=int(getattr(config, "jm_download_concurrency", 8)),
28
+ home=Path(home) if home else None,
29
+ )