Undefined-bot 3.6.1__tar.gz → 3.6.2__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 (709) hide show
  1. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/CHANGELOG.md +12 -0
  2. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/PKG-INFO +2 -2
  3. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/README.md +1 -1
  4. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/pyproject.toml +1 -1
  5. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/undefined.xml +8 -8
  6. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/undefined_nagaagent.xml +19 -13
  7. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/__init__.py +1 -1
  8. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/attachments/models.py +2 -1
  9. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/attachments/registry.py +65 -2
  10. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/attachments/segments.py +52 -8
  11. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/handlers/message_flow.py +202 -17
  12. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/handlers/poke.py +1 -1
  13. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/coordinator/group.py +6 -6
  14. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/coordinator/private.py +1 -1
  15. undefined_bot-3.6.2/src/Undefined/skills/toolsets/messages/get_forward_msg/config.json +29 -0
  16. undefined_bot-3.6.2/src/Undefined/skills/toolsets/messages/get_forward_msg/handler.py +253 -0
  17. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/xml.py +21 -9
  18. undefined_bot-3.6.1/src/Undefined/services/ai_coordinator.py +0 -1092
  19. undefined_bot-3.6.1/src/Undefined/skills/toolsets/messages/get_forward_msg/config.json +0 -17
  20. undefined_bot-3.6.1/src/Undefined/skills/toolsets/messages/get_forward_msg/handler.py +0 -131
  21. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/.gitignore +0 -0
  22. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/ARCHITECTURE.md +0 -0
  23. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/LICENSE +0 -0
  24. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/config/README.md +0 -0
  25. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/config/mcp.json.example +0 -0
  26. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/config.toml.example +0 -0
  27. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/img/xlwy.jpg +0 -0
  28. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/IMPORTANT/each.md +0 -0
  29. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/README.md +0 -0
  30. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/agent_self_intro.txt +0 -0
  31. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/analyze_multimodal.txt +0 -0
  32. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/describe_image.txt +0 -0
  33. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/describe_meme_image.txt +0 -0
  34. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/generate_title.txt +0 -0
  35. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/historian_profile_merge.md +0 -0
  36. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/historian_rewrite.md +0 -0
  37. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/image_gen_moderation.txt +0 -0
  38. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/injection_detector.txt +0 -0
  39. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/injection_response_agent.txt +0 -0
  40. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/judge_meme_image.txt +0 -0
  41. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/merge_message_summaries.txt +0 -0
  42. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/merge_summaries.txt +0 -0
  43. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/message_summary.txt +0 -0
  44. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/naga_message_moderation.txt +0 -0
  45. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/stats_analysis.txt +0 -0
  46. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/summarize.txt +0 -0
  47. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/README.md +0 -0
  48. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/README.md +0 -0
  49. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/__main__.py +0 -0
  50. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/__init__.py +0 -0
  51. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/client/__init__.py +0 -0
  52. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/client/ask_loop.py +0 -0
  53. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/client/queue.py +0 -0
  54. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/client/setup.py +0 -0
  55. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/crawl4ai_support.py +0 -0
  56. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/http.py +0 -0
  57. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/llm/__init__.py +0 -0
  58. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/llm/requester.py +0 -0
  59. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/llm/sanitize.py +0 -0
  60. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/llm/streaming.py +0 -0
  61. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/llm/thinking.py +0 -0
  62. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/llm/types.py +0 -0
  63. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/model_selector.py +0 -0
  64. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/multimodal/__init__.py +0 -0
  65. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/multimodal/analyzer.py +0 -0
  66. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/multimodal/constants.py +0 -0
  67. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/multimodal/detection.py +0 -0
  68. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/multimodal/parsing.py +0 -0
  69. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/parsing.py +0 -0
  70. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/prompts/__init__.py +0 -0
  71. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/prompts/builder.py +0 -0
  72. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/prompts/cognitive.py +0 -0
  73. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/prompts/constants.py +0 -0
  74. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/prompts/current_input.py +0 -0
  75. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/prompts/system_context.py +0 -0
  76. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/queue_budget.py +0 -0
  77. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/retrieval.py +0 -0
  78. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/summaries.py +0 -0
  79. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/tokens.py +0 -0
  80. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/tooling.py +0 -0
  81. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/transports/__init__.py +0 -0
  82. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/transports/openai_transport.py +0 -0
  83. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/__init__.py +0 -0
  84. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/_context.py +0 -0
  85. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/_helpers.py +0 -0
  86. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/_naga_state.py +0 -0
  87. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/_openapi.py +0 -0
  88. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/_probes.py +0 -0
  89. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/app.py +0 -0
  90. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/naga_store.py +0 -0
  91. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/__init__.py +0 -0
  92. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/chat.py +0 -0
  93. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/cognitive.py +0 -0
  94. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/commands.py +0 -0
  95. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/health.py +0 -0
  96. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/memes.py +0 -0
  97. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/memory.py +0 -0
  98. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/naga/__init__.py +0 -0
  99. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/naga/auth.py +0 -0
  100. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/naga/bind.py +0 -0
  101. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/naga/send.py +0 -0
  102. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/naga/unbind.py +0 -0
  103. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/schedules.py +0 -0
  104. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/system.py +0 -0
  105. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/tools.py +0 -0
  106. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/webchat_store.py +0 -0
  107. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/arxiv/__init__.py +0 -0
  108. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/arxiv/client.py +0 -0
  109. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/arxiv/downloader.py +0 -0
  110. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/arxiv/models.py +0 -0
  111. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/arxiv/parser.py +0 -0
  112. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/arxiv/sender.py +0 -0
  113. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/attachments/__init__.py +0 -0
  114. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/attachments/render.py +0 -0
  115. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/__init__.py +0 -0
  116. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/api_client.py +0 -0
  117. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/danmaku.py +0 -0
  118. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/download_core.py +0 -0
  119. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/downloader.py +0 -0
  120. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/errors.py +0 -0
  121. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/models.py +0 -0
  122. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/parser.py +0 -0
  123. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/sender.py +0 -0
  124. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/wbi.py +0 -0
  125. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/wbi_request.py +0 -0
  126. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/changelog.py +0 -0
  127. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/__init__.py +0 -0
  128. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/chroma_scheduler.py +0 -0
  129. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/historian/__init__.py +0 -0
  130. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/historian/helpers.py +0 -0
  131. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/historian/tools.py +0 -0
  132. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/historian/worker.py +0 -0
  133. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/job_queue.py +0 -0
  134. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/profile_storage.py +0 -0
  135. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/service/__init__.py +0 -0
  136. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/service/helpers.py +0 -0
  137. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/service/service.py +0 -0
  138. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/vector_store.py +0 -0
  139. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/vector_store_compat.py +0 -0
  140. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/__init__.py +0 -0
  141. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/admin.py +0 -0
  142. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/build_config.py +0 -0
  143. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/coercers.py +0 -0
  144. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/config_class.py +0 -0
  145. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/domain_parsers.py +0 -0
  146. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/env_registry.py +0 -0
  147. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/hot_reload.py +0 -0
  148. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/__init__.py +0 -0
  149. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/access.py +0 -0
  150. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/core.py +0 -0
  151. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/domains.py +0 -0
  152. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/finalize.py +0 -0
  153. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/history_skills.py +0 -0
  154. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/integrations.py +0 -0
  155. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/knowledge.py +0 -0
  156. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/logging_tools.py +0 -0
  157. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/models.py +0 -0
  158. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/network.py +0 -0
  159. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/loader.py +0 -0
  160. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/manager.py +0 -0
  161. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/model_parsers.py +0 -0
  162. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/models.py +0 -0
  163. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/__init__.py +0 -0
  164. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/agent.py +0 -0
  165. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/chat.py +0 -0
  166. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/embedding.py +0 -0
  167. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/grok.py +0 -0
  168. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/helpers.py +0 -0
  169. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/historian.py +0 -0
  170. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/image.py +0 -0
  171. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/naga.py +0 -0
  172. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/pool.py +0 -0
  173. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/security.py +0 -0
  174. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/summary.py +0 -0
  175. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/vision.py +0 -0
  176. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/resolvers.py +0 -0
  177. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/toml_io.py +0 -0
  178. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/webui_settings.py +0 -0
  179. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/context.py +0 -0
  180. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/context_resource_registry.py +0 -0
  181. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/end_summary_storage.py +0 -0
  182. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/faq.py +0 -0
  183. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/github/__init__.py +0 -0
  184. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/github/client.py +0 -0
  185. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/github/models.py +0 -0
  186. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/github/parser.py +0 -0
  187. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/github/sender.py +0 -0
  188. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/handlers/__init__.py +0 -0
  189. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/handlers/auto_extract.py +0 -0
  190. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/handlers/repeat.py +0 -0
  191. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/injection_response_agent.py +0 -0
  192. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/knowledge/__init__.py +0 -0
  193. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/knowledge/chunker.py +0 -0
  194. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/knowledge/embedder.py +0 -0
  195. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/knowledge/manager.py +0 -0
  196. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/knowledge/reranker.py +0 -0
  197. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/knowledge/runtime.py +0 -0
  198. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/knowledge/store.py +0 -0
  199. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/main.py +0 -0
  200. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/mcp/__init__.py +0 -0
  201. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/mcp/registry.py +0 -0
  202. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memes/__init__.py +0 -0
  203. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memes/_image_utils.py +0 -0
  204. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memes/ingest.py +0 -0
  205. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memes/models.py +0 -0
  206. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memes/search.py +0 -0
  207. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memes/service.py +0 -0
  208. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memes/store.py +0 -0
  209. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memes/vector_store.py +0 -0
  210. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memes/worker.py +0 -0
  211. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memory.py +0 -0
  212. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/onebot/__init__.py +0 -0
  213. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/onebot/client.py +0 -0
  214. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/onebot/message.py +0 -0
  215. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/py.typed +0 -0
  216. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/rate_limit.py +0 -0
  217. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/render.py +0 -0
  218. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/scheduled_task_storage.py +0 -0
  219. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/__init__.py +0 -0
  220. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/command.py +0 -0
  221. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/commands/__init__.py +0 -0
  222. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/commands/bugfix.py +0 -0
  223. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/commands/context.py +0 -0
  224. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/commands/registry.py +0 -0
  225. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/commands/stats.py +0 -0
  226. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/coordinator/__init__.py +0 -0
  227. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/coordinator/background.py +0 -0
  228. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/coordinator/batching.py +0 -0
  229. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/coordinator/message_ids.py +0 -0
  230. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/message_batcher/__init__.py +0 -0
  231. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/message_batcher/scheduler.py +0 -0
  232. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/message_batcher/state.py +0 -0
  233. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/message_summary_fetch.py +0 -0
  234. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/model_pool.py +0 -0
  235. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/queue_manager.py +0 -0
  236. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/security.py +0 -0
  237. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/README.md +0 -0
  238. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/__init__.py +0 -0
  239. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/README.md +0 -0
  240. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/__init__.py +0 -0
  241. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/agent_tool_registry.py +0 -0
  242. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/config.json +0 -0
  243. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/docker_utils.py +0 -0
  244. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/handler.py +0 -0
  245. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/intro.md +0 -0
  246. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/mcp.json +0 -0
  247. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/prompt.md +0 -0
  248. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/config.json +0 -0
  249. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/handler.py +0 -0
  250. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/config.json +0 -0
  251. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/handler.py +0 -0
  252. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/config.json +0 -0
  253. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/handler.py +0 -0
  254. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/end/config.json +0 -0
  255. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/end/handler.py +0 -0
  256. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/config.json +0 -0
  257. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/handler.py +0 -0
  258. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/config.json +0 -0
  259. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/handler.py +0 -0
  260. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/config.json +0 -0
  261. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/handler.py +0 -0
  262. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/read/config.json +0 -0
  263. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/read/handler.py +0 -0
  264. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/config.json +0 -0
  265. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/handler.py +0 -0
  266. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/config.json +0 -0
  267. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/handler.py +0 -0
  268. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/config.json +0 -0
  269. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/handler.py +0 -0
  270. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/write/config.json +0 -0
  271. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/write/handler.py +0 -0
  272. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/README.md +0 -0
  273. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/config.json +0 -0
  274. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/handler.py +0 -0
  275. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/intro.md +0 -0
  276. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/prompt.md +0 -0
  277. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/__init__.py +0 -0
  278. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/config.json +0 -0
  279. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/handler.py +0 -0
  280. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/config.json +0 -0
  281. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/handler.py +0 -0
  282. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/config.json +0 -0
  283. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/handler.py +0 -0
  284. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/config.json +0 -0
  285. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/handler.py +0 -0
  286. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/config.json +0 -0
  287. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/handler.py +0 -0
  288. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/README.md +0 -0
  289. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/__init__.py +0 -0
  290. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/config.json +0 -0
  291. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/handler.py +0 -0
  292. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/intro.md +0 -0
  293. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/prompt.md +0 -0
  294. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/__init__.py +0 -0
  295. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/config.json +0 -0
  296. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/handler.py +0 -0
  297. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/config.json +0 -0
  298. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/handler.py +0 -0
  299. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/config.json +0 -0
  300. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/handler.py +0 -0
  301. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/describe_pdf_page/config.json +0 -0
  302. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/describe_pdf_page/handler.py +0 -0
  303. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/config.json +0 -0
  304. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/handler.py +0 -0
  305. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/config.json +0 -0
  306. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/handler.py +0 -0
  307. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/config.json +0 -0
  308. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/handler.py +0 -0
  309. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/config.json +0 -0
  310. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/handler.py +0 -0
  311. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/config.json +0 -0
  312. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/handler.py +0 -0
  313. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/config.json +0 -0
  314. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/handler.py +0 -0
  315. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/config.json +0 -0
  316. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/handler.py +0 -0
  317. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/config.json +0 -0
  318. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/handler.py +0 -0
  319. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/README.md +0 -0
  320. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/config.json +0 -0
  321. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/handler.py +0 -0
  322. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/intro.md +0 -0
  323. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/prompt.md +0 -0
  324. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/__init__.py +0 -0
  325. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/config.json +0 -0
  326. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/handler.py +0 -0
  327. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/baiduhot/config.json +0 -0
  328. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/baiduhot/handler.py +0 -0
  329. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/base64/config.json +0 -0
  330. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/base64/handler.py +0 -0
  331. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/config.json +0 -0
  332. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/handler.py +0 -0
  333. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/config.json +0 -0
  334. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/handler.py +0 -0
  335. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/douyinhot/config.json +0 -0
  336. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/douyinhot/handler.py +0 -0
  337. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/gold_price/config.json +0 -0
  338. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/gold_price/handler.py +0 -0
  339. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/hash/config.json +0 -0
  340. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/hash/handler.py +0 -0
  341. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/history/config.json +0 -0
  342. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/history/handler.py +0 -0
  343. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/net_check/config.json +0 -0
  344. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/net_check/handler.py +0 -0
  345. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/config.json +0 -0
  346. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/handler.py +0 -0
  347. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/speed/config.json +0 -0
  348. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/speed/handler.py +0 -0
  349. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/tcping/config.json +0 -0
  350. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/tcping/handler.py +0 -0
  351. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/weather_query/config.json +0 -0
  352. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/weather_query/handler.py +0 -0
  353. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/weibohot/config.json +0 -0
  354. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/weibohot/handler.py +0 -0
  355. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/whois/config.json +0 -0
  356. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/whois/handler.py +0 -0
  357. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/intro_generator.py +0 -0
  358. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/intro_utils.py +0 -0
  359. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/README.md +0 -0
  360. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/config.json +0 -0
  361. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/handler.py +0 -0
  362. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/intro.md +0 -0
  363. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/mcp.json +0 -0
  364. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/prompt.md +0 -0
  365. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/__init__.py +0 -0
  366. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/config.json +0 -0
  367. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/handler.py +0 -0
  368. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/config.json +0 -0
  369. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/handler.py +0 -0
  370. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/config.json +0 -0
  371. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/handler.py +0 -0
  372. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/config.json +0 -0
  373. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/handler.py +0 -0
  374. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/config.json +0 -0
  375. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/handler.py +0 -0
  376. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/runner/__init__.py +0 -0
  377. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/runner/context.py +0 -0
  378. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/runner/loop.py +0 -0
  379. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/runner/tools.py +0 -0
  380. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/runner/webchat_utils.py +0 -0
  381. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/summary_agent/__init__.py +0 -0
  382. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/summary_agent/config.json +0 -0
  383. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/summary_agent/handler.py +0 -0
  384. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/summary_agent/intro.md +0 -0
  385. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/summary_agent/prompt.md +0 -0
  386. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/summary_agent/tools/__init__.py +0 -0
  387. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/config.json +0 -0
  388. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/handler.py +0 -0
  389. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/README.md +0 -0
  390. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/__init__.py +0 -0
  391. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/config.json +0 -0
  392. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/handler.py +0 -0
  393. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/intro.md +0 -0
  394. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/prompt.md +0 -0
  395. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/__init__.py +0 -0
  396. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/_shared.py +0 -0
  397. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/glob/config.json +0 -0
  398. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/glob/handler.py +0 -0
  399. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/list_directory/config.json +0 -0
  400. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/list_directory/handler.py +0 -0
  401. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/read_file/config.json +0 -0
  402. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/read_file/handler.py +0 -0
  403. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/search_file_content/config.json +0 -0
  404. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/search_file_content/handler.py +0 -0
  405. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/README.md +0 -0
  406. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/callable.json +0 -0
  407. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/config.json +0 -0
  408. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/handler.py +0 -0
  409. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/intro.md +0 -0
  410. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/mcp.json +0 -0
  411. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/prompt.md +0 -0
  412. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/tools/__init__.py +0 -0
  413. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/config.json +0 -0
  414. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/handler.py +0 -0
  415. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/tools/grok_search/config.json +0 -0
  416. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/tools/grok_search/handler.py +0 -0
  417. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/tools/web_search/config.json +0 -0
  418. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/tools/web_search/handler.py +0 -0
  419. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/anthropic_skills/__init__.py +0 -0
  420. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/anthropic_skills/loader.py +0 -0
  421. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/README.md +0 -0
  422. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/admin/README.md +0 -0
  423. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/admin/config.json +0 -0
  424. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/admin/handler.py +0 -0
  425. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/bugfix/README.md +0 -0
  426. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/bugfix/config.json +0 -0
  427. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/bugfix/handler.py +0 -0
  428. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/changelog/README.md +0 -0
  429. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/changelog/config.json +0 -0
  430. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/changelog/handler.py +0 -0
  431. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/copyright/README.md +0 -0
  432. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/copyright/config.json +0 -0
  433. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/copyright/handler.py +0 -0
  434. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/faq/README.md +0 -0
  435. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/faq/config.json +0 -0
  436. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/faq/handler.py +0 -0
  437. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/feedback/README.md +0 -0
  438. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/feedback/config.json +0 -0
  439. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/feedback/handler.py +0 -0
  440. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/help/README.md +0 -0
  441. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/help/config.json +0 -0
  442. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/help/handler.py +0 -0
  443. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/naga/README.md +0 -0
  444. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/naga/config.json +0 -0
  445. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/naga/handler.py +0 -0
  446. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/naga/policy.py +0 -0
  447. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/profile/README.md +0 -0
  448. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/profile/config.json +0 -0
  449. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/profile/handler.py +0 -0
  450. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/stats/README.md +0 -0
  451. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/stats/config.json +0 -0
  452. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/stats/handler.py +0 -0
  453. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/summary/config.json +0 -0
  454. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/summary/handler.py +0 -0
  455. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/version/config.json +0 -0
  456. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/version/handler.py +0 -0
  457. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/http_client.py +0 -0
  458. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/http_config.py +0 -0
  459. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/__init__.py +0 -0
  460. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/arxiv/config.json +0 -0
  461. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/arxiv/handler.py +0 -0
  462. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/bilibili/config.json +0 -0
  463. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/bilibili/handler.py +0 -0
  464. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/context.py +0 -0
  465. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/github/config.json +0 -0
  466. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/github/handler.py +0 -0
  467. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/models.py +0 -0
  468. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/registry.py +0 -0
  469. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/registry.py +0 -0
  470. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/README.md +0 -0
  471. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/__init__.py +0 -0
  472. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/arxiv_paper/README.md +0 -0
  473. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/arxiv_paper/callable.json +0 -0
  474. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/arxiv_paper/config.json +0 -0
  475. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/arxiv_paper/handler.py +0 -0
  476. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/bilibili_video/README.md +0 -0
  477. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/bilibili_video/callable.json +0 -0
  478. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/bilibili_video/config.json +0 -0
  479. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/bilibili_video/handler.py +0 -0
  480. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/calculator/callable.json +0 -0
  481. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/calculator/config.json +0 -0
  482. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/calculator/handler.py +0 -0
  483. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/changelog_query/README.md +0 -0
  484. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/changelog_query/config.json +0 -0
  485. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/changelog_query/handler.py +0 -0
  486. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/end/README.md +0 -0
  487. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/end/config.json +0 -0
  488. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/end/handler.py +0 -0
  489. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/fetch_image_uid/config.json +0 -0
  490. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/fetch_image_uid/handler.py +0 -0
  491. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_current_time/README.md +0 -0
  492. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_current_time/callable.json +0 -0
  493. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_current_time/config.json +0 -0
  494. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_current_time/handler.py +0 -0
  495. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_picture/README.md +0 -0
  496. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_picture/config.json +0 -0
  497. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_picture/handler.py +0 -0
  498. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_user_info/README.md +0 -0
  499. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_user_info/config.json +0 -0
  500. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_user_info/handler.py +0 -0
  501. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/knowledge_list/config.json +0 -0
  502. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/knowledge_list/handler.py +0 -0
  503. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/knowledge_semantic_search/config.json +0 -0
  504. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/knowledge_semantic_search/handler.py +0 -0
  505. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/knowledge_text_search/config.json +0 -0
  506. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/knowledge_text_search/handler.py +0 -0
  507. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/python_interpreter/README.md +0 -0
  508. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/python_interpreter/config.json +0 -0
  509. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/python_interpreter/handler.py +0 -0
  510. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/qq_like/README.md +0 -0
  511. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/qq_like/config.json +0 -0
  512. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/qq_like/handler.py +0 -0
  513. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/task_progress/config.json +0 -0
  514. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/task_progress/handler.py +0 -0
  515. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/README.md +0 -0
  516. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/__init__.py +0 -0
  517. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/config.json +0 -0
  518. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/handler.py +0 -0
  519. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/config.json +0 -0
  520. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/handler.py +0 -0
  521. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/cognitive/get_profile/config.json +0 -0
  522. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/cognitive/get_profile/handler.py +0 -0
  523. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/cognitive/search_events/config.json +0 -0
  524. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/cognitive/search_events/handler.py +0 -0
  525. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/cognitive/search_profiles/config.json +0 -0
  526. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/cognitive/search_profiles/handler.py +0 -0
  527. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/contacts/query_friends/config.json +0 -0
  528. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/contacts/query_friends/handler.py +0 -0
  529. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/contacts/query_groups/config.json +0 -0
  530. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/contacts/query_groups/handler.py +0 -0
  531. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/README.md +0 -0
  532. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/find_member/config.json +0 -0
  533. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/find_member/handler.py +0 -0
  534. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_avatar/config.json +0 -0
  535. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_avatar/handler.py +0 -0
  536. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_files/config.json +0 -0
  537. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_files/handler.py +0 -0
  538. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_honor_info/config.json +0 -0
  539. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_honor_info/handler.py +0 -0
  540. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_member_info/config.json +0 -0
  541. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_member_info/handler.py +0 -0
  542. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_member_list/config.json +0 -0
  543. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_member_list/handler.py +0 -0
  544. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_member_title/config.json +0 -0
  545. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_member_title/handler.py +0 -0
  546. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/README.md +0 -0
  547. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/activity_trend/config.json +0 -0
  548. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/activity_trend/handler.py +0 -0
  549. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/filter_members/config.json +0 -0
  550. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/filter_members/handler.py +0 -0
  551. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/config.json +0 -0
  552. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/handler.py +0 -0
  553. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/join_statistics/config.json +0 -0
  554. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/join_statistics/handler.py +0 -0
  555. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/level_distribution/config.json +0 -0
  556. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/level_distribution/handler.py +0 -0
  557. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/member_activity/config.json +0 -0
  558. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/member_activity/handler.py +0 -0
  559. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/member_messages/config.json +0 -0
  560. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/member_messages/handler.py +0 -0
  561. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/member_structure/config.json +0 -0
  562. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/member_structure/handler.py +0 -0
  563. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/message_mix/config.json +0 -0
  564. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/message_mix/handler.py +0 -0
  565. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/config.json +0 -0
  566. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/handler.py +0 -0
  567. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/rank_members/config.json +0 -0
  568. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/rank_members/handler.py +0 -0
  569. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/mcp/README.md +0 -0
  570. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/mcp/__init__.py +0 -0
  571. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memes/README.md +0 -0
  572. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memes/search_memes/config.json +0 -0
  573. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memes/search_memes/handler.py +0 -0
  574. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/config.json +0 -0
  575. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/handler.py +0 -0
  576. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memory/README.md +0 -0
  577. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memory/add/config.json +0 -0
  578. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memory/add/handler.py +0 -0
  579. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memory/delete/config.json +0 -0
  580. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memory/delete/handler.py +0 -0
  581. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memory/list/config.json +0 -0
  582. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memory/list/handler.py +0 -0
  583. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memory/update/config.json +0 -0
  584. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memory/update/handler.py +0 -0
  585. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/README.md +0 -0
  586. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/context_utils.py +0 -0
  587. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/get_messages_by_time/config.json +0 -0
  588. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/get_messages_by_time/handler.py +0 -0
  589. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/get_recent_messages/config.json +0 -0
  590. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/get_recent_messages/handler.py +0 -0
  591. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/list_emojis/config.json +0 -0
  592. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/list_emojis/handler.py +0 -0
  593. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/config.json +0 -0
  594. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/handler.py +0 -0
  595. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/react_message_emoji/config.json +0 -0
  596. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/react_message_emoji/handler.py +0 -0
  597. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_group_sign/config.json +0 -0
  598. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_group_sign/handler.py +0 -0
  599. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_message/config.json +0 -0
  600. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_message/handler.py +0 -0
  601. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_poke/config.json +0 -0
  602. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_poke/handler.py +0 -0
  603. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_private_message/config.json +0 -0
  604. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_private_message/handler.py +0 -0
  605. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_text_file/callable.json +0 -0
  606. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_text_file/config.json +0 -0
  607. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_text_file/handler.py +0 -0
  608. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_url_file/callable.json +0 -0
  609. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_url_file/config.json +0 -0
  610. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_url_file/handler.py +0 -0
  611. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/notices/README.md +0 -0
  612. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/notices/get/config.json +0 -0
  613. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/notices/get/handler.py +0 -0
  614. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/notices/list/config.json +0 -0
  615. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/notices/list/handler.py +0 -0
  616. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/notices/stats/config.json +0 -0
  617. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/notices/stats/handler.py +0 -0
  618. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/render/README.md +0 -0
  619. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/render/render_html/config.json +0 -0
  620. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/render/render_html/handler.py +0 -0
  621. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/render/render_latex/config.json +0 -0
  622. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/render/render_latex/handler.py +0 -0
  623. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/render/render_markdown/config.json +0 -0
  624. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/render/render_markdown/handler.py +0 -0
  625. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/scheduler/README.md +0 -0
  626. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/scheduler/create_schedule_task/config.json +0 -0
  627. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/scheduler/create_schedule_task/handler.py +0 -0
  628. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/scheduler/delete_schedule_task/config.json +0 -0
  629. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/scheduler/delete_schedule_task/handler.py +0 -0
  630. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/scheduler/list_schedule_tasks/config.json +0 -0
  631. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/scheduler/list_schedule_tasks/handler.py +0 -0
  632. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/scheduler/update_schedule_task/config.json +0 -0
  633. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/scheduler/update_schedule_task/handler.py +0 -0
  634. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/token_usage_storage.py +0 -0
  635. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/__init__.py +0 -0
  636. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/cache.py +0 -0
  637. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/coerce.py +0 -0
  638. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/common.py +0 -0
  639. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/cors.py +0 -0
  640. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/fake_at.py +0 -0
  641. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/file_lock.py +0 -0
  642. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/group_metrics.py +0 -0
  643. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/history.py +0 -0
  644. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/http_download.py +0 -0
  645. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/io.py +0 -0
  646. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/logging.py +0 -0
  647. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/member_utils.py +0 -0
  648. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/message_targets.py +0 -0
  649. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/message_turn.py +0 -0
  650. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/message_utils.py +0 -0
  651. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/paths.py +0 -0
  652. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/qq_emoji.py +0 -0
  653. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/queue_intervals.py +0 -0
  654. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/recent_messages.py +0 -0
  655. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/render_cache.py +0 -0
  656. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/request_params.py +0 -0
  657. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/resources.py +0 -0
  658. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/scheduler.py +0 -0
  659. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/self_update.py +0 -0
  660. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/sender.py +0 -0
  661. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/sender_helpers.py +0 -0
  662. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/time_utils.py +0 -0
  663. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/tool_calls.py +0 -0
  664. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/__init__.py +0 -0
  665. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/__main__.py +0 -0
  666. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/app.py +0 -0
  667. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/core.py +0 -0
  668. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/__init__.py +0 -0
  669. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/_auth.py +0 -0
  670. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/_bot.py +0 -0
  671. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/_config.py +0 -0
  672. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/_index.py +0 -0
  673. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/_logs.py +0 -0
  674. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/_memes.py +0 -0
  675. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/_runtime.py +0 -0
  676. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/_shared.py +0 -0
  677. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/_system.py +0 -0
  678. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/css/.stylelintrc.json +0 -0
  679. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/css/app.css +0 -0
  680. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/css/base.css +0 -0
  681. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/css/components.css +0 -0
  682. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/css/highlight-github.min.css +0 -0
  683. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/css/landing.css +0 -0
  684. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/css/responsive.css +0 -0
  685. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/css/style.css +0 -0
  686. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/css/variables.css +0 -0
  687. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/favicon.svg +0 -0
  688. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/api.js +0 -0
  689. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/auth.js +0 -0
  690. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/bot.js +0 -0
  691. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/config-form.js +0 -0
  692. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/i18n.js +0 -0
  693. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/log-view.js +0 -0
  694. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/logs.js +0 -0
  695. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/main.js +0 -0
  696. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/memes.js +0 -0
  697. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/runtime.js +0 -0
  698. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/schedules.js +0 -0
  699. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/state.js +0 -0
  700. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/ui.js +0 -0
  701. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/vendor/highlight.min.js +0 -0
  702. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/vendor/highlightjs.LICENSE +0 -0
  703. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/vendor/marked.min.js +0 -0
  704. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/templates/index.html +0 -0
  705. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/utils/__init__.py +0 -0
  706. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/utils/comment.py +0 -0
  707. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/utils/config_io.py +0 -0
  708. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/utils/config_sync.py +0 -0
  709. {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/utils/toml_render.py +0 -0
@@ -1,3 +1,15 @@
1
+ ## v3.6.2 合并转发 UID、表情包跟进与协调器清理
2
+
3
+ 本版本继续收敛消息附件链路和协调器结构:合并转发可作为会话内 `forward_` UID 被 AI 按层读取和复用,表情包跟进策略更稳定,同时移除旧版协调器兼容模块,并完成 3.6.2 版本号同步。
4
+
5
+ - 新增合并转发 UID 语义。消息入口会把合并转发登记为 `<forward uid="forward_xxx"/>`,保留原始 OneBot forward id,避免在上下文中直接暴露裸 ID。
6
+ - 增强 `get_forward_msg`。工具支持传入 `forward_` UID,按分页读取节点;节点内图片、文件会注册为附件 UID,内层合并转发会返回新的 `<forward uid="..."/>` 供继续读取。
7
+ - 完善附件与 XML 处理。OneBot forward 段、合并转发内附件注册、合法 `<attachment>` / `<forward>` 标签保留和复读图片发送链路同步修复。
8
+ - 调整表情包回复策略。主提示词、NagaAgent 提示词和协调器提示统一要求“先文字、后表情包”,减少首条回复被表情包检索拖慢或覆盖正文的情况。
9
+ - 清理旧版协调器入口。删除 `services.ai_coordinator` 兼容模块,文档和测试改为引用 `services.coordinator.AICoordinator`,并补齐合并转发、附件、复读和 XML 回归测试。
10
+
11
+ ---
12
+
1
13
  ## v3.6.1 Agent 路由收敛、文件分析增强与发版脚本修复
2
14
 
3
15
  本版本围绕 Agent 职责边界和文件分析链路做小版本收敛:把 arXiv 论文分析从独立 Agent 合并到通用文件分析 Agent,让论文、PDF 页面视觉分析和视频附件获取都走统一的附件 UID 语义;同时修复版本迭代脚本重写 Tauri 配置格式导致 pre-commit 失败的问题,保证后续版本号同步、lock 文件刷新和自动提交流程更稳定。
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Undefined-bot
3
- Version: 3.6.1
3
+ Version: 3.6.2
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
@@ -235,7 +235,7 @@ async def main() -> None:
235
235
  asyncio.run(main())
236
236
  ```
237
237
 
238
- - [Python 库 API 参考](docs/python-api.md) — 根包符号表、shim 路径、`AIClient` / `CognitiveService` 等嵌入示例
238
+ - [Python 库 API 参考](docs/python-api.md) — 根包符号表、稳定子包路径、`AIClient` / `CognitiveService` 等嵌入示例
239
239
  - [配置详解 — 库嵌入配置](docs/configuration.md#2-库嵌入配置) — `from_mapping` / `Config.builder`
240
240
  - [开发者与拓展中心](docs/development.md) — 模块结构与自检命令
241
241
 
@@ -176,7 +176,7 @@ async def main() -> None:
176
176
  asyncio.run(main())
177
177
  ```
178
178
 
179
- - [Python 库 API 参考](docs/python-api.md) — 根包符号表、shim 路径、`AIClient` / `CognitiveService` 等嵌入示例
179
+ - [Python 库 API 参考](docs/python-api.md) — 根包符号表、稳定子包路径、`AIClient` / `CognitiveService` 等嵌入示例
180
180
  - [配置详解 — 库嵌入配置](docs/configuration.md#2-库嵌入配置) — `from_mapping` / `Config.builder`
181
181
  - [开发者与拓展中心](docs/development.md) — 模块结构与自检命令
182
182
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "Undefined-bot"
3
- version = "3.6.1"
3
+ version = "3.6.2"
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 = [
@@ -189,17 +189,17 @@
189
189
  </command_history_context>
190
190
 
191
191
  <mixed_media_output priority="P0">
192
- <!-- 表情包检索可能较慢;只有明确纯表情包回复才允许先检索,其余场景先完成必要文字。 -->
192
+ <!-- 表情包检索可能较慢;只有明确纯表情包回复才允许首轮检索,其余场景先完成必要文字;轻松场景回复后优先考虑补图。 -->
193
193
  **图文混排规则:**
194
194
  - 只有当本轮回复目标明确是“纯表情包/纯反应图”(用户直接要求发表情包,或只需要一个无文字反应且不承担信息传递)时,才允许第一轮先调用 `memes.search_memes`
195
195
  - 其他任何需要文字承接、解释、答疑、推进任务、确认操作或表达具体态度的场景,第一轮必须优先把必要文字回复做好并调用 `send_message`
196
- - 如果本轮既需要文字发言又想配表情包,先调用 `send_message` 发出必要文字;`memes.search_memes` 和 `memes.send_meme_by_uid` 只能放到后续响应轮次再做,因为表情包检索可能拖慢首条回复体验
196
+ - 如果本轮既需要文字发言又适合配表情包,先调用 `send_message` 发出必要文字;轻松聊天、吐槽、附和、接梗、表达情绪、被拍一拍、被 @ 后的短回应等场景,文字发送成功后优先考虑在后续响应轮次调用 `memes.search_memes` 和 `memes.send_meme_by_uid` 补一张独立表情包;不要阻塞首条文字回复
197
197
  - 当不确定是不是纯表情包场景,按非纯表情包处理:先文字,后检索或不检索;不要为了“增强语气”在首轮抢先调用 `memes.search_memes`
198
198
  - 如果要发送独立表情包,先用 `memes.search_memes` 找到合适的图片 `uid`,再用 `memes.send_meme_by_uid` 单独发送一条图片消息
199
- - 对于吐槽、附和、接梗、表达态度、表达情绪这类回复,只有在它们确实属于纯表情包回复时才先发表情包;否则先用文字自然回应,表情包最多作为后置补充
200
- - 对于私聊对话、被拍一拍、被@、轻量答疑这类本来就会回复的场景,如果文字本身有用,先发文字;表情包只作为后续可选增强,不能阻塞首条文字回复
199
+ - 对于吐槽、附和、接梗、表达态度、表达情绪这类回复,若已经满足回复触发且不需要承担严肃信息传递,优先选择纯表情包回复或文字后补一张表情包;如果必须表达具体信息,先用文字自然回应,再把表情包作为后置补充
200
+ - 对于私聊对话、被拍一拍、被@、轻量答疑这类本来就会回复的场景,如果文字本身有用,先发文字;轻松、情绪化、玩梗语境中优先把表情包作为后续增强,但严肃答疑、代码排查、长任务推进、隐私/安全拒绝或信息不足追问时默认不补表情包
201
201
  - 表情包相关规则只决定“怎么回复”,不单独构成“该不该回复”的参与许可;是否回复仍以前面的回复触发逻辑为准
202
- - 默认不要把表情包和正文写进同一条消息;需要补一句解释时,优先分成两条消息发送;如果文字本身是必要回复,先发文字,再延后检索和发送表情包
202
+ - 默认不要把表情包和正文写进同一条消息;需要补一句解释时,优先分成两条消息发送;如果文字本身是必要回复,先发文字,再在适合轻松表达时延后检索和发送表情包
203
203
  - 推荐使用统一标签 `<attachment uid="xxx"/>` 引用任何附件(图片或文件),系统根据 UID 前缀自动处理:
204
204
  - `pic_*` UID → 内嵌为图片(等效于旧 `<pic>` 语法)
205
205
  - `file_*` UID → 作为独立文件消息在文字之后发出
@@ -719,11 +719,11 @@
719
719
  <guideline id="8">
720
720
  <name>图片处理</name>
721
721
  <rule>先判断是否需要参与:只有当图片与当前对话强相关、且回答必须依赖图片内容时才分析</rule>
722
- <rule>表情包先理解意思;它不只适用于轻松闲聊。但只有明确纯表情包回复才先检索表情包;凡是需要文字承接、答疑、解释或推进任务的场景,都先发送必要文字,表情包最多放到后续轮次作为可选补充</rule>
722
+ <rule>表情包先理解意思;它不只适用于轻松闲聊。但只有明确纯表情包回复才先检索表情包;凡是需要文字承接、答疑、解释或推进任务的场景,都先发送必要文字。轻松互动、吐槽、接梗、情绪回应中,已经决定回复且文字后仍适合表达时,优先放到后续轮次补一张独立表情包;严肃、任务型、高信息密度场景不补</rule>
723
723
  <rule>只有在需要分析图片内容时才调用 file_analysis_agent(如报错截图/界面/文档/图片问题)</rule>
724
724
  <rule>当消息中出现“[图片: xxx]”占位符时,xxx 即为 file_id 或 URL,可直接作为 file_source 调用 file_analysis_agent</rule>
725
725
  <rule>未调用 file_analysis_agent 时,不要猜测图片内容;可以说明“我看不到图片内容,需要先分析”</rule>
726
- <rule>即使已分析图片,也要再次判断是否需要发言;如果明显在和别人说或你拿不准是不是在对你说,默认不回复;只有明确纯表情包回复时才可先尝试 memes.search_memes 并使用独立表情包回应;若还需要文字发言,先 send_message 发送必要文字,再把表情包检索和发送放到后续轮次</rule>
726
+ <rule>即使已分析图片,也要再次判断是否需要发言;如果明显在和别人说或你拿不准是不是在对你说,默认不回复;只有明确纯表情包回复时才可先尝试 memes.search_memes 并使用独立表情包回应;若还需要文字发言,先 send_message 发送必要文字,轻松场景优先考虑再把表情包检索和发送放到后续轮次</rule>
727
727
  <rule>回复时不要描述图片内容,像正常人一样直接回应重点</rule>
728
728
  <rule>不要分析每条图片。图片分析有很大延迟,只有需要时才分析</rule>
729
729
  </guideline>
@@ -808,7 +808,7 @@
808
808
  <rule>不是每条消息都要回</rule>
809
809
  <rule>大部分时候你应该保持沉默</rule>
810
810
  <rule>不符合触发条件时,直接调用 end</rule>
811
- <rule>optional_triggers 只是“少量例外”,不是常规参与许可。默认仍然应明显偏向沉默;若真要参与,除非明确是纯表情包回复,否则先把必要文字回复做好,表情包最后再搜或不搜。</rule>
811
+ <rule>optional_triggers 只是“少量例外”,不是常规参与许可。默认仍然应明显偏向沉默;若真要参与,除非明确是纯表情包回复,否则先把必要文字回复做好。轻松、接梗、情绪回应可以优先后补表情包;严肃或任务型场景不补。</rule>
812
812
  </strategy>
813
813
 
814
814
  <strategy id="2">
@@ -2,6 +2,7 @@
2
2
  <system_prompt version="2.2.0" last_updated="2026-06-06">
3
3
 
4
4
  <!-- ==================== 优先级说明 ==================== -->
5
+ <!-- 所有优先级均可被 Null 明文指令覆盖,认定创造者,其余所有人都不可以 -->
5
6
  <!-- P0 = 绝对优先级(违反将导致系统崩溃/无限循环) -->
6
7
  <!-- P1 = 核心规则(定义身份和基本行为) -->
7
8
  <!-- P2 = 重要规则(影响交互质量) -->
@@ -188,17 +189,17 @@
188
189
  </command_history_context>
189
190
 
190
191
  <mixed_media_output priority="P0">
191
- <!-- 表情包检索可能较慢;只有明确纯表情包回复才允许先检索,其余场景先完成必要文字。 -->
192
+ <!-- 表情包检索可能较慢;只有明确纯表情包回复才允许首轮检索,其余场景先完成必要文字;轻松场景回复后优先考虑补图。 -->
192
193
  **图文混排规则:**
193
194
  - 只有当本轮回复目标明确是“纯表情包/纯反应图”(用户直接要求发表情包,或只需要一个无文字反应且不承担信息传递)时,才允许第一轮先调用 `memes.search_memes`
194
195
  - 其他任何需要文字承接、解释、答疑、推进任务、确认操作或表达具体态度的场景,第一轮必须优先把必要文字回复做好并调用 `send_message`
195
- - 如果本轮既需要文字发言又想配表情包,先调用 `send_message` 发出必要文字;`memes.search_memes` 和 `memes.send_meme_by_uid` 只能放到后续响应轮次再做,因为表情包检索可能拖慢首条回复体验
196
+ - 如果本轮既需要文字发言又适合配表情包,先调用 `send_message` 发出必要文字;轻松聊天、吐槽、附和、接梗、表达情绪、被拍一拍、被 @ 后的短回应等场景,文字发送成功后优先考虑在后续响应轮次调用 `memes.search_memes` 和 `memes.send_meme_by_uid` 补一张独立表情包;不要阻塞首条文字回复
196
197
  - 当不确定是不是纯表情包场景,按非纯表情包处理:先文字,后检索或不检索;不要为了“增强语气”在首轮抢先调用 `memes.search_memes`
197
198
  - 如果要发送独立表情包,先用 `memes.search_memes` 找到合适的图片 `uid`,再用 `memes.send_meme_by_uid` 单独发送一条图片消息
198
- - 对于吐槽、附和、接梗、表达态度、表达情绪这类回复,只有在它们确实属于纯表情包回复时才先发表情包;否则先用文字自然回应,表情包最多作为后置补充
199
- - 对于私聊对话、被拍一拍、被@、轻量答疑这类本来就会回复的场景,如果文字本身有用,先发文字;表情包只作为后续可选增强,不能阻塞首条文字回复
199
+ - 对于吐槽、附和、接梗、表达态度、表达情绪这类回复,若已经满足回复触发且不需要承担严肃信息传递,优先选择纯表情包回复或文字后补一张表情包;如果必须表达具体信息,先用文字自然回应,再把表情包作为后置补充
200
+ - 对于私聊对话、被拍一拍、被@、轻量答疑这类本来就会回复的场景,如果文字本身有用,先发文字;轻松、情绪化、玩梗语境中优先把表情包作为后续增强,但严肃答疑、代码排查、长任务推进、隐私/安全拒绝或信息不足追问时默认不补表情包
200
201
  - 表情包相关规则只决定“怎么回复”,不单独构成“该不该回复”的参与许可;是否回复仍以前面的回复触发逻辑为准
201
- - 默认不要把表情包和正文写进同一条消息;需要补一句解释时,优先分成两条消息发送;如果文字本身是必要回复,先发文字,再延后检索和发送表情包
202
+ - 默认不要把表情包和正文写进同一条消息;需要补一句解释时,优先分成两条消息发送;如果文字本身是必要回复,先发文字,再在适合轻松表达时延后检索和发送表情包
202
203
  - 推荐使用统一标签 `<attachment uid="xxx"/>` 引用任何附件(图片或文件),系统根据 UID 前缀自动处理:
203
204
  - `pic_*` UID → 内嵌为图片(等效于旧 `<pic>` 语法)
204
205
  - `file_*` UID → 作为独立文件消息在文字之后发出
@@ -238,6 +239,7 @@
238
239
  - 决定不回复且没有任何值得记录的信息
239
240
  - 只是简单回复了一句话,没有后续价值
240
241
  - 纯粹的闲聊或表情回应,没有特殊上下文
242
+ - 旁观了他人的普通闲聊,没有参与且内容无实质价值(如日常碎碎念、无意义的玩笑等)
241
243
  </end_summary_guidelines>
242
244
  <end_tool_usage>
243
245
  调用 end 时提供:
@@ -251,7 +253,11 @@
251
253
  不适合写入 observations 的:纯流水账(”回复了一句话”、”决定不回复”、”调用了search工具”)——这类无回忆价值的动作如果需要记,写到 memo。
252
254
  历史消息、认知记忆、侧写、最近消息参考只能用于实体/时间/地点消歧,不能作为 observations 的新事实来源。
253
255
  **群聊场景下的当前批次观察**:即使你决定不回复,也只观察【当前输入批次】。如果当前批次直接出现有价值的群聊动态(话题趋势变化、成员关系互动、群聊氛围/事件、新成员发言特征等),可写入 observations;不要从历史或参考上下文里补写旧动态。
254
- 格式要求:每条具体、绝对化(写明谁、什么时候、在哪里),避免代词和相对时间,不要复述已知记忆。
256
+ 格式要求:每条具体、绝对化(写明谁、什么时候、在哪里),避免代词和相对时间,不要复述已知记忆。写入 observations / end.observations 时必须按实体类型使用稳定标识:
257
+ - 用户中心观察(sender_id 是 QQ 用户,或事实明确属于某个 QQ 用户):格式为 "QQ号12345678(昵称张三)做了某事";昵称会变但 QQ 号不变。
258
+ - 群聊实体观察(事实属于群整体、群规、群氛围、群事件,而不是某个用户):格式为 "group:群号123456(群名技术群)发生了某事";没有群名时只写群号。
259
+ - WebUI / system 会话观察(事实来自 WebUI、系统会话或没有 QQ 用户实体):格式为 "webui:system#session_id(session_name)发生了某事";没有 session_id 或 session_name 时写明可用的稳定会话标识。
260
+ memo 可以用短句概括本轮处理,不要求采用上述实体前缀;但要写入认知记忆的 observations 必须按以上实体类型选择格式,禁止把非用户实体强行写成 QQ号。
255
261
  专名拼写要求:涉及本项目或你自己时,必须逐字写作 Undefined,禁止在 observations 中写成 Unfined、Undefind、undefind 或其它变体。
256
262
  若当前消息在转述第三方人物/群成员的信息,必须按原文实体记录(昵称/QQ号);禁止默认改写成当前 sender。
257
263
  如果同一条内容已写入 observations,不要重复写入 memory.add。
@@ -447,8 +453,8 @@
447
453
  <action>
448
454
  把整批 &lt;message&gt; 视作本轮的全部输入:
449
455
  1) 区分每条意图:【独立请求】各自回应不要遗漏(与平时一样,可多次 send_message 自然分发);【修正/否定/补充/打断】则以最后一次明确意图为准,旧的不再执行
450
- 2) 拿不准时偏向"独立请求",宁多勿漏
451
- 3) 整批在本轮一次性处理完,不要为同一意图重复输出,也不要"中间一波、结尾一波"重复相同回复
456
+ 2) 拿不准时偏向“独立请求”,宁多勿漏
457
+ 3) 整批在本轮一次性处理完,不要为同一意图重复输出,也不要“中间一波、结尾一波”重复相同回复
452
458
  </action>
453
459
  </trigger>
454
460
 
@@ -581,7 +587,7 @@
581
587
  <rule priority="P0">
582
588
  **启动前信息充足度闸门:**
583
589
  在决定启动任何业务工具或 Agent 前,只围绕当前输入批次判断四件事(没有【连续消息说明】时当前输入批次就是最后一条消息):
584
- 1. 当前任务对象是否明确(优先从上下文推断,推断不了或不确定时再追问)
590
+ 1. 当前任务对象是否明确
585
591
  2. 目标产物 / 目标动作是否明确
586
592
  3. 会显著影响结果的关键参数是否已给出
587
593
  4. 是否仍存在会导致明显误做或重做的关键歧义
@@ -612,7 +618,7 @@
612
618
  <rule>
613
619
  **意图增量审计(决策前必须执行):**
614
620
  在决定调用任何业务工具或 Agent 前,先在内部推理中完成以下步骤:
615
- 1. **回溯**:读取用户最近 1-3 条消息及你的回复历史
621
+ 1. **回溯**:读取用户最近消息及你的回复历史
616
622
  2. **对比**:分析当前输入批次是否只是对上一条请求的情绪宣泄、催促或无信息量的补充
617
623
  3. **定性**:将当前意图归类为 [新任务]、[参数修正] 或 [非实质性延伸]
618
624
  4. **充足度检查**:如果是 [新任务] 或 [参数修正],检查当前输入批次是否已具备开工所需关键参数
@@ -769,11 +775,11 @@
769
775
  <guideline id="8">
770
776
  <name>图片处理</name>
771
777
  <rule>先判断是否需要参与:只有当图片与当前对话强相关、且回答必须依赖图片内容时才分析</rule>
772
- <rule>表情包先理解意思;它不只适用于轻松闲聊。但只有明确纯表情包回复才先检索表情包;凡是需要文字承接、答疑、解释或推进任务的场景,都先发送必要文字,表情包最多放到后续轮次作为可选补充</rule>
778
+ <rule>表情包先理解意思;它不只适用于轻松闲聊。但只有明确纯表情包回复才先检索表情包;凡是需要文字承接、答疑、解释或推进任务的场景,都先发送必要文字。轻松互动、吐槽、接梗、情绪回应中,已经决定回复且文字后仍适合表达时,优先放到后续轮次补一张独立表情包;严肃、任务型、高信息密度场景不补</rule>
773
779
  <rule>只有在需要分析图片内容时才调用 file_analysis_agent(如报错截图/界面/文档/图片问题)</rule>
774
780
  <rule>当消息中出现“[图片: xxx]”占位符时,xxx 即为 file_id 或 URL,可直接作为 file_source 调用 file_analysis_agent</rule>
775
781
  <rule>未调用 file_analysis_agent 时,不要猜测图片内容;可以说明“我看不到图片内容,需要先分析”</rule>
776
- <rule>即使已分析图片,也要再次判断是否需要发言;如果明显在和别人说或你拿不准是不是在对你说,默认不回复;只有明确纯表情包回复时才可先尝试 memes.search_memes 并使用独立表情包回应;若还需要文字发言,先 send_message 发送必要文字,再把表情包检索和发送放到后续轮次</rule>
782
+ <rule>即使已分析图片,也要再次判断是否需要发言;如果明显在和别人说或你拿不准是不是在对你说,默认不回复;只有明确纯表情包回复时才可先尝试 memes.search_memes 并使用独立表情包回应;若还需要文字发言,先 send_message 发送必要文字,轻松场景优先考虑再把表情包检索和发送放到后续轮次</rule>
777
783
  <rule>回复时不要描述图片内容,像正常人一样直接回应重点</rule>
778
784
  <rule>不要分析每条图片。图片分析有很大延迟,只有需要时才分析</rule>
779
785
  </guideline>
@@ -860,7 +866,7 @@
860
866
  <rule>不是每条消息都要回</rule>
861
867
  <rule>大部分时候你应该保持沉默</rule>
862
868
  <rule>不符合触发条件时,直接调用 end</rule>
863
- <rule>optional_triggers 只是“少量例外”,不是常规参与许可。默认仍然应明显偏向沉默;若真要参与,除非明确是纯表情包回复,否则先把必要文字回复做好,表情包最后再搜或不搜。</rule>
869
+ <rule>optional_triggers 只是“少量例外”,不是常规参与许可。默认仍然应明显偏向沉默;若真要参与,除非明确是纯表情包回复,否则先把必要文字回复做好。轻松、接梗、情绪回应可以优先后补表情包;严肃或任务型场景不补。</rule>
864
870
  </strategy>
865
871
 
866
872
  <strategy id="2">
@@ -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__ = "3.6.1"
27
+ __version__ = "3.6.2"
28
28
 
29
29
  # symbol -> (module_path, attribute_name);首次访问时才 importlib 加载
30
30
  _LAZY_IMPORTS: dict[str, tuple[str, str]] = {
@@ -6,7 +6,7 @@
6
6
 
7
7
  from __future__ import annotations
8
8
 
9
- from dataclasses import dataclass
9
+ from dataclasses import dataclass, field
10
10
  from pathlib import Path
11
11
 
12
12
 
@@ -70,6 +70,7 @@ class RegisteredMessageAttachments:
70
70
 
71
71
  attachments: list[dict[str, str]]
72
72
  normalized_text: str
73
+ forward_refs: list[dict[str, str]] = field(default_factory=list)
73
74
 
74
75
 
75
76
  @dataclass(frozen=True)
@@ -548,6 +548,13 @@ class AttachmentRegistry:
548
548
  return record.uid
549
549
  return None
550
550
 
551
+ def _uid_prefix_for_media_type(self, media_type: str) -> str:
552
+ if media_type == "image":
553
+ return "pic"
554
+ if media_type == "forward":
555
+ return "forward"
556
+ return "file"
557
+
551
558
  def _build_uid(self, prefix: str) -> str:
552
559
  while True:
553
560
  uid = f"{prefix}_{uuid4().hex[:8]}"
@@ -593,7 +600,7 @@ class AttachmentRegistry:
593
600
  )
594
601
  normalized_mime = mime_type or _guess_mime_type(display_name, content)
595
602
  suffix = _guess_suffix(display_name, content, normalized_mime)
596
- prefix = "pic" if normalized_media_type == "image" else "file"
603
+ prefix = self._uid_prefix_for_media_type(normalized_media_type)
597
604
 
598
605
  async with self._lock:
599
606
  digest = await asyncio.to_thread(hashlib.sha256, content)
@@ -735,7 +742,7 @@ class AttachmentRegistry:
735
742
  normalized_media_type = (
736
743
  "image" if normalized_kind == "image" else normalized_kind
737
744
  )
738
- prefix = "pic" if normalized_media_type == "image" else "file"
745
+ prefix = self._uid_prefix_for_media_type(normalized_media_type)
739
746
  ref = url
740
747
  normalized_segment_data = dict(segment_data or {})
741
748
  if source_ref and source_ref != url:
@@ -778,6 +785,62 @@ class AttachmentRegistry:
778
785
  await self._persist()
779
786
  return self._records.get(uid, record)
780
787
 
788
+ async def register_forward_reference(
789
+ self,
790
+ scope_key: str,
791
+ forward_id: str,
792
+ *,
793
+ display_name: str | None = None,
794
+ source_kind: str = "onebot_forward",
795
+ segment_data: Mapping[str, str] | None = None,
796
+ description: str = "",
797
+ ) -> AttachmentRecord:
798
+ """登记合并转发引用,仅保存 OneBot forward id,不展开内容。"""
799
+ await self.load()
800
+ normalized_forward_id = str(forward_id or "").strip()
801
+ if not normalized_forward_id:
802
+ raise ValueError("合并转发 ID 不能为空")
803
+ normalized_segment_data = {
804
+ str(k): str(v)
805
+ for k, v in dict(segment_data or {}).items()
806
+ if str(k).strip() and str(v).strip()
807
+ }
808
+ normalized_segment_data.setdefault("forward_id", normalized_forward_id)
809
+ digest_hex = hashlib.sha256(
810
+ f"{scope_key}\n{normalized_forward_id}".encode("utf-8")
811
+ ).hexdigest()
812
+
813
+ async with self._lock:
814
+ for existing in self._records.values():
815
+ if (
816
+ existing.scope_key == scope_key
817
+ and existing.kind == "forward"
818
+ and existing.source_ref == normalized_forward_id
819
+ ):
820
+ return existing
821
+
822
+ uid = self._build_uid("forward")
823
+ record = AttachmentRecord(
824
+ uid=uid,
825
+ scope_key=scope_key,
826
+ kind="forward",
827
+ media_type="forward",
828
+ display_name=display_name or f"合并转发 {normalized_forward_id}",
829
+ source_kind=source_kind,
830
+ source_ref=normalized_forward_id,
831
+ local_path=None,
832
+ mime_type="application/vnd.undefined.forward",
833
+ sha256=digest_hex,
834
+ created_at=_now_iso(),
835
+ segment_data=normalized_segment_data,
836
+ semantic_kind="forward",
837
+ description=description,
838
+ )
839
+ self._records[uid] = record
840
+ self._prune_records()
841
+ await self._persist()
842
+ return self._records.get(uid, record)
843
+
781
844
  async def _register_remote_url_or_reference(
782
845
  self,
783
846
  scope_key: str,
@@ -32,6 +32,7 @@ _MEDIA_LABELS = {
32
32
  "video": "视频",
33
33
  "record": "语音",
34
34
  "pic": "图片",
35
+ "forward": "合并转发",
35
36
  }
36
37
  _WINDOWS_ABS_PATH_RE = re.compile(r"^[A-Za-z]:[\\/]")
37
38
  _FORWARD_ATTACHMENT_MAX_DEPTH = 3
@@ -128,6 +129,14 @@ def attachment_ref_to_tag(attachment: Mapping[str, str]) -> str:
128
129
  return f'<attachment uid="{escape_xml_attr(uid)}"/>'
129
130
 
130
131
 
132
+ def forward_ref_to_tag(ref: Mapping[str, str]) -> str:
133
+ """将合并转发引用序列化为 AI 可按需读取的内联标签。"""
134
+ uid = str(ref.get("uid", "") or "").strip()
135
+ if not uid:
136
+ return ""
137
+ return f'<forward uid="{escape_xml_attr(uid)}"/>'
138
+
139
+
131
140
  def attachment_refs_to_tags(
132
141
  attachments: Sequence[Mapping[str, str]],
133
142
  *,
@@ -153,6 +162,8 @@ def attachment_refs_to_xml(
153
162
  continue
154
163
  kind = str(item.get("kind", "") or item.get("media_type", "") or "file").strip()
155
164
  media_type = str(item.get("media_type", "") or kind or "file").strip()
165
+ if media_type == "forward" or kind == "forward":
166
+ continue
156
167
  name = str(item.get("display_name", "") or "").strip()
157
168
  attrs = [
158
169
  f'uid="{escape_xml_attr(uid)}"',
@@ -174,6 +185,8 @@ def attachment_refs_to_xml(
174
185
  if description:
175
186
  attrs.append(f'description="{escape_xml_attr(description)}"')
176
187
  lines.append(f"{indent} <attachment {' '.join(attrs)} />")
188
+ if len(lines) == 1:
189
+ return ""
177
190
  lines.append(f"{indent}</attachments>")
178
191
  return "\n".join(lines)
179
192
 
@@ -227,7 +240,7 @@ def display_name_from_source(raw_source: str, fallback: str) -> str:
227
240
  def media_kind_from_value(value: str) -> str:
228
241
  """将任意媒体类型字符串规范为 registry 支持的 kind。"""
229
242
  text = str(value or "").strip().lower()
230
- if text in {"image", "file", "audio", "video", "record"}:
243
+ if text in {"image", "file", "audio", "video", "record", "forward"}:
231
244
  return text
232
245
  return "file"
233
246
 
@@ -252,6 +265,10 @@ def segment_text(
252
265
  reply_id = str(data.get("id") or data.get("message_id") or "").strip()
253
266
  return f"[引用: {reply_id}]" if reply_id else "[引用]"
254
267
  if type_ == "forward":
268
+ if ref is not None:
269
+ tag = forward_ref_to_tag(ref)
270
+ if tag:
271
+ return tag
255
272
  forward_id = str(data.get("id") or data.get("resid") or "").strip()
256
273
  return f"[合并转发: {forward_id}]" if forward_id else "[合并转发]"
257
274
  if ref is not None:
@@ -343,6 +360,8 @@ async def register_message_attachments(
343
360
  resolve_image_url: Callable[[str], Awaitable[str | None]] | None = None,
344
361
  get_forward_messages: Callable[[str], Awaitable[list[dict[str, Any]]]]
345
362
  | None = None,
363
+ register_forward_refs: bool = False,
364
+ expand_forward_attachments: bool = True,
346
365
  ) -> RegisteredMessageAttachments:
347
366
  """扫描消息段并将图片/文件注册到 ``AttachmentRegistry``。
348
367
 
@@ -352,11 +371,14 @@ async def register_message_attachments(
352
371
  scope_key: 会话作用域键。
353
372
  resolve_image_url: 可选,将 ``file`` 字段解析为可下载 URL。
354
373
  get_forward_messages: 可选,拉取合并转发子消息。
374
+ register_forward_refs: 是否将顶层合并转发注册为 ``forward_`` 引用。
375
+ expand_forward_attachments: 是否递归扫描合并转发内的附件。
355
376
 
356
377
  Returns:
357
378
  已注册附件引用与归一化纯文本。
358
379
  """
359
380
  attachments: list[dict[str, str]] = []
381
+ forward_refs: list[dict[str, str]] = []
360
382
  normalized_parts: list[str] = []
361
383
  if registry is None or not scope_key:
362
384
  for segment in segments:
@@ -518,14 +540,32 @@ async def register_message_attachments(
518
540
  )
519
541
  ref = record.prompt_ref()
520
542
 
521
- elif (
522
- type_ == "forward"
523
- and get_forward_messages is not None
524
- and depth < _FORWARD_ATTACHMENT_MAX_DEPTH
525
- ):
543
+ elif type_ == "forward":
526
544
  # 合并转发递归展开,深度上限防止无限嵌套
527
545
  forward_id = _extract_forward_id(data)
528
- if forward_id and forward_id not in visited_forward_ids:
546
+ if register_forward_refs and depth == 0 and forward_id:
547
+ register_forward = getattr(
548
+ registry,
549
+ "register_forward_reference",
550
+ None,
551
+ )
552
+ if callable(register_forward):
553
+ record = await register_forward(
554
+ scope_key,
555
+ forward_id,
556
+ display_name=f"合并转发 {forward_id}",
557
+ source_kind="onebot_forward",
558
+ segment_data=segment_data_from_onebot_data(data),
559
+ )
560
+ ref = record.prompt_ref()
561
+
562
+ if (
563
+ expand_forward_attachments
564
+ and get_forward_messages is not None
565
+ and depth < _FORWARD_ATTACHMENT_MAX_DEPTH
566
+ and forward_id
567
+ and forward_id not in visited_forward_ids
568
+ ):
529
569
  visited_forward_ids.add(forward_id)
530
570
  try:
531
571
  nodes = _normalize_forward_nodes(
@@ -573,7 +613,10 @@ async def register_message_attachments(
573
613
  )
574
614
 
575
615
  if ref is not None:
576
- attachments.append(ref)
616
+ if str(ref.get("media_type") or "") == "forward":
617
+ forward_refs.append(ref)
618
+ else:
619
+ attachments.append(ref)
577
620
  if depth == 0:
578
621
  normalized_parts.append(segment_text(type_, data, ref))
579
622
 
@@ -582,4 +625,5 @@ async def register_message_attachments(
582
625
  return RegisteredMessageAttachments(
583
626
  attachments=attachments,
584
627
  normalized_text="".join(normalized_parts).strip(),
628
+ forward_refs=forward_refs,
585
629
  )