Undefined-bot 3.2.2__tar.gz → 3.2.5__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 (493) hide show
  1. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/PKG-INFO +2 -4
  2. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/README.md +1 -3
  3. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/config.toml.example +84 -14
  4. undefined_bot-3.2.5/img/head.png +0 -0
  5. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/pyproject.toml +1 -1
  6. undefined_bot-3.2.5/res/prompts/naga_message_moderation.txt +26 -0
  7. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/__init__.py +1 -1
  8. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/llm.py +33 -21
  9. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/transports/__init__.py +6 -0
  10. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/transports/openai_transport.py +38 -8
  11. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/api/app.py +546 -232
  12. undefined_bot-3.2.5/src/Undefined/api/naga_store.py +829 -0
  13. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/cognitive/historian.py +11 -50
  14. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/config/hot_reload.py +5 -0
  15. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/config/loader.py +185 -5
  16. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/config/models.py +6 -1
  17. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/main.py +6 -0
  18. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/services/commands/registry.py +85 -13
  19. undefined_bot-3.2.5/src/Undefined/services/security.py +366 -0
  20. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/README.md +2 -2
  21. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/help/handler.py +3 -0
  22. undefined_bot-3.2.5/src/Undefined/skills/commands/naga/README.md +63 -0
  23. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/naga/config.json +3 -2
  24. undefined_bot-3.2.5/src/Undefined/skills/commands/naga/handler.py +373 -0
  25. undefined_bot-3.2.5/src/Undefined/skills/commands/naga/policy.py +26 -0
  26. undefined_bot-3.2.5/src/Undefined/skills/commands/naga/scopes.json +4 -0
  27. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/queue_intervals.py +4 -0
  28. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/tool_calls.py +75 -0
  29. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/routes/_config.py +14 -3
  30. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/config-form.js +64 -11
  31. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/i18n.js +8 -0
  32. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/utils/config_sync.py +82 -2
  33. undefined_bot-3.2.2/img/head.jpg +0 -0
  34. undefined_bot-3.2.2/src/Undefined/api/naga_store.py +0 -245
  35. undefined_bot-3.2.2/src/Undefined/services/security.py +0 -155
  36. undefined_bot-3.2.2/src/Undefined/skills/agents/info_agent/callable.json +0 -4
  37. undefined_bot-3.2.2/src/Undefined/skills/commands/naga/handler.py +0 -481
  38. undefined_bot-3.2.2/src/Undefined/skills/commands/naga/scopes.json +0 -9
  39. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/.gitignore +0 -0
  40. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/ARCHITECTURE.md +0 -0
  41. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/LICENSE +0 -0
  42. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/config/README.md +0 -0
  43. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/config/mcp.json.example +0 -0
  44. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/img/xlwy.jpg +0 -0
  45. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/IMPORTANT/each.md +0 -0
  46. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/README.md +0 -0
  47. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/agent_self_intro.txt +0 -0
  48. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/analyze_multimodal.txt +0 -0
  49. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/describe_image.txt +0 -0
  50. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/generate_title.txt +0 -0
  51. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/historian_profile_merge.md +0 -0
  52. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/historian_rewrite.md +0 -0
  53. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/injection_detector.txt +0 -0
  54. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/injection_response_agent.txt +0 -0
  55. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/merge_summaries.txt +0 -0
  56. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/stats_analysis.txt +0 -0
  57. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/summarize.txt +0 -0
  58. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/undefined.xml +0 -0
  59. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/undefined_nagaagent.xml +0 -0
  60. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/README.md +0 -0
  61. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/README.md +0 -0
  62. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/__main__.py +0 -0
  63. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/__init__.py +0 -0
  64. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/client.py +0 -0
  65. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/http.py +0 -0
  66. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/model_selector.py +0 -0
  67. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/multimodal.py +0 -0
  68. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/parsing.py +0 -0
  69. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/prompts.py +0 -0
  70. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/retrieval.py +0 -0
  71. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/summaries.py +0 -0
  72. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/tokens.py +0 -0
  73. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/tooling.py +0 -0
  74. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/api/__init__.py +0 -0
  75. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/bilibili/__init__.py +0 -0
  76. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/bilibili/downloader.py +0 -0
  77. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/bilibili/parser.py +0 -0
  78. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/bilibili/sender.py +0 -0
  79. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/bilibili/wbi.py +0 -0
  80. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/bilibili/wbi_request.py +0 -0
  81. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/cognitive/__init__.py +0 -0
  82. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/cognitive/job_queue.py +0 -0
  83. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/cognitive/profile_storage.py +0 -0
  84. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/cognitive/service.py +0 -0
  85. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/cognitive/vector_store.py +0 -0
  86. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/config/__init__.py +0 -0
  87. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/config/manager.py +0 -0
  88. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/context.py +0 -0
  89. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/context_resource_registry.py +0 -0
  90. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/end_summary_storage.py +0 -0
  91. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/faq.py +0 -0
  92. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/handlers.py +0 -0
  93. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/injection_response_agent.py +0 -0
  94. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/knowledge/__init__.py +0 -0
  95. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/knowledge/chunker.py +0 -0
  96. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/knowledge/embedder.py +0 -0
  97. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/knowledge/manager.py +0 -0
  98. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/knowledge/reranker.py +0 -0
  99. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/knowledge/runtime.py +0 -0
  100. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/knowledge/store.py +0 -0
  101. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/mcp/__init__.py +0 -0
  102. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/mcp/registry.py +0 -0
  103. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/memory.py +0 -0
  104. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/onebot.py +0 -0
  105. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/rate_limit.py +0 -0
  106. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/render.py +0 -0
  107. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/scheduled_task_storage.py +0 -0
  108. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/services/__init__.py +0 -0
  109. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/services/ai_coordinator.py +0 -0
  110. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/services/command.py +0 -0
  111. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/services/commands/__init__.py +0 -0
  112. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/services/commands/context.py +0 -0
  113. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/services/model_pool.py +0 -0
  114. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/services/queue_manager.py +0 -0
  115. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/README.md +0 -0
  116. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/__init__.py +0 -0
  117. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/__init__.py +0 -0
  118. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/agent_tool_registry.py +0 -0
  119. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/config.json +0 -0
  120. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/docker_utils.py +0 -0
  121. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/handler.py +0 -0
  122. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/intro.md +0 -0
  123. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/mcp.json +0 -0
  124. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/prompt.md +0 -0
  125. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/config.json +0 -0
  126. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/handler.py +0 -0
  127. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/config.json +0 -0
  128. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/handler.py +0 -0
  129. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/config.json +0 -0
  130. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/handler.py +0 -0
  131. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/end/config.json +0 -0
  132. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/end/handler.py +0 -0
  133. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/config.json +0 -0
  134. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/handler.py +0 -0
  135. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/config.json +0 -0
  136. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/handler.py +0 -0
  137. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/config.json +0 -0
  138. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/handler.py +0 -0
  139. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/read/config.json +0 -0
  140. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/read/handler.py +0 -0
  141. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/config.json +0 -0
  142. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/handler.py +0 -0
  143. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/config.json +0 -0
  144. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/handler.py +0 -0
  145. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/config.json +0 -0
  146. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/handler.py +0 -0
  147. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/write/config.json +0 -0
  148. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/write/handler.py +0 -0
  149. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/README.md +0 -0
  150. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/config.json +0 -0
  151. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/handler.py +0 -0
  152. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/intro.md +0 -0
  153. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/prompt.md +0 -0
  154. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/__init__.py +0 -0
  155. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/config.json +0 -0
  156. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/handler.py +0 -0
  157. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/config.json +0 -0
  158. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/handler.py +0 -0
  159. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/config.json +0 -0
  160. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/handler.py +0 -0
  161. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/config.json +0 -0
  162. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/handler.py +0 -0
  163. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/config.json +0 -0
  164. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/handler.py +0 -0
  165. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/README.md +0 -0
  166. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/__init__.py +0 -0
  167. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/config.json +0 -0
  168. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/handler.py +0 -0
  169. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/intro.md +0 -0
  170. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/prompt.md +0 -0
  171. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/__init__.py +0 -0
  172. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/config.json +0 -0
  173. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/handler.py +0 -0
  174. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/config.json +0 -0
  175. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/handler.py +0 -0
  176. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/config.json +0 -0
  177. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/handler.py +0 -0
  178. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/config.json +0 -0
  179. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/handler.py +0 -0
  180. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/config.json +0 -0
  181. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/handler.py +0 -0
  182. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/config.json +0 -0
  183. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/handler.py +0 -0
  184. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/config.json +0 -0
  185. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/handler.py +0 -0
  186. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/config.json +0 -0
  187. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/handler.py +0 -0
  188. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/config.json +0 -0
  189. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/handler.py +0 -0
  190. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/config.json +0 -0
  191. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/handler.py +0 -0
  192. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/config.json +0 -0
  193. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/handler.py +0 -0
  194. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/README.md +0 -0
  195. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/config.json +0 -0
  196. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/handler.py +0 -0
  197. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/intro.md +0 -0
  198. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/prompt.md +0 -0
  199. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/__init__.py +0 -0
  200. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/baiduhot/config.json +0 -0
  201. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/baiduhot/handler.py +0 -0
  202. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/base64/config.json +0 -0
  203. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/base64/handler.py +0 -0
  204. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/config.json +0 -0
  205. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/handler.py +0 -0
  206. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/config.json +0 -0
  207. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/handler.py +0 -0
  208. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/douyinhot/config.json +0 -0
  209. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/douyinhot/handler.py +0 -0
  210. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/gold_price/config.json +0 -0
  211. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/gold_price/handler.py +0 -0
  212. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/hash/config.json +0 -0
  213. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/hash/handler.py +0 -0
  214. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/history/config.json +0 -0
  215. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/history/handler.py +0 -0
  216. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/net_check/config.json +0 -0
  217. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/net_check/handler.py +0 -0
  218. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/config.json +0 -0
  219. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/handler.py +0 -0
  220. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/speed/config.json +0 -0
  221. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/speed/handler.py +0 -0
  222. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/tcping/config.json +0 -0
  223. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/tcping/handler.py +0 -0
  224. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/weather_query/config.json +0 -0
  225. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/weather_query/handler.py +0 -0
  226. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/weibohot/config.json +0 -0
  227. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/weibohot/handler.py +0 -0
  228. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/whois/config.json +0 -0
  229. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/whois/handler.py +0 -0
  230. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/intro_generator.py +0 -0
  231. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/intro_utils.py +0 -0
  232. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/README.md +0 -0
  233. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/config.json +0 -0
  234. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/handler.py +0 -0
  235. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/intro.md +0 -0
  236. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/mcp.json +0 -0
  237. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/prompt.md +0 -0
  238. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/__init__.py +0 -0
  239. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/config.json +0 -0
  240. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/handler.py +0 -0
  241. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/config.json +0 -0
  242. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/handler.py +0 -0
  243. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/config.json +0 -0
  244. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/handler.py +0 -0
  245. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/config.json +0 -0
  246. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/handler.py +0 -0
  247. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/config.json +0 -0
  248. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/handler.py +0 -0
  249. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/runner.py +0 -0
  250. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/README.md +0 -0
  251. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/callable.json +0 -0
  252. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/config.json +0 -0
  253. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/handler.py +0 -0
  254. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/intro.md +0 -0
  255. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/mcp.json +0 -0
  256. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/prompt.md +0 -0
  257. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/tools/__init__.py +0 -0
  258. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/config.json +0 -0
  259. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/handler.py +0 -0
  260. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/tools/web_search/config.json +0 -0
  261. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/tools/web_search/handler.py +0 -0
  262. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/anthropic_skills/__init__.py +0 -0
  263. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/anthropic_skills/loader.py +0 -0
  264. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/README.md +0 -0
  265. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/addadmin/README.md +0 -0
  266. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/addadmin/config.json +0 -0
  267. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/addadmin/handler.py +0 -0
  268. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/bugfix/README.md +0 -0
  269. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/bugfix/config.json +0 -0
  270. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/bugfix/handler.py +0 -0
  271. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/copyright/README.md +0 -0
  272. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/copyright/config.json +0 -0
  273. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/copyright/handler.py +0 -0
  274. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/delfaq/README.md +0 -0
  275. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/delfaq/config.json +0 -0
  276. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/delfaq/handler.py +0 -0
  277. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/help/README.md +0 -0
  278. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/help/config.json +0 -0
  279. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/lsadmin/README.md +0 -0
  280. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/lsadmin/config.json +0 -0
  281. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/lsadmin/handler.py +0 -0
  282. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/lsfaq/README.md +0 -0
  283. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/lsfaq/config.json +0 -0
  284. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/lsfaq/handler.py +0 -0
  285. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/rmadmin/README.md +0 -0
  286. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/rmadmin/config.json +0 -0
  287. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/rmadmin/handler.py +0 -0
  288. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/searchfaq/README.md +0 -0
  289. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/searchfaq/config.json +0 -0
  290. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/searchfaq/handler.py +0 -0
  291. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/stats/README.md +0 -0
  292. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/stats/config.json +0 -0
  293. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/stats/handler.py +0 -0
  294. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/viewfaq/README.md +0 -0
  295. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/viewfaq/config.json +0 -0
  296. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/viewfaq/handler.py +0 -0
  297. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/http_client.py +0 -0
  298. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/http_config.py +0 -0
  299. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/registry.py +0 -0
  300. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/README.md +0 -0
  301. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/__init__.py +0 -0
  302. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/bilibili_video/README.md +0 -0
  303. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/bilibili_video/config.json +0 -0
  304. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/bilibili_video/handler.py +0 -0
  305. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/end/README.md +0 -0
  306. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/end/config.json +0 -0
  307. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/end/handler.py +0 -0
  308. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_current_time/README.md +0 -0
  309. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_current_time/callable.json +0 -0
  310. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_current_time/config.json +0 -0
  311. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_current_time/handler.py +0 -0
  312. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_picture/README.md +0 -0
  313. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_picture/config.json +0 -0
  314. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_picture/handler.py +0 -0
  315. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_user_info/README.md +0 -0
  316. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_user_info/config.json +0 -0
  317. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_user_info/handler.py +0 -0
  318. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/knowledge_list/config.json +0 -0
  319. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/knowledge_list/handler.py +0 -0
  320. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/knowledge_semantic_search/config.json +0 -0
  321. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/knowledge_semantic_search/handler.py +0 -0
  322. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/knowledge_text_search/config.json +0 -0
  323. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/knowledge_text_search/handler.py +0 -0
  324. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/python_interpreter/README.md +0 -0
  325. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/python_interpreter/config.json +0 -0
  326. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/python_interpreter/handler.py +0 -0
  327. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/qq_like/README.md +0 -0
  328. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/qq_like/config.json +0 -0
  329. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/qq_like/handler.py +0 -0
  330. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/task_progress/config.json +0 -0
  331. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/task_progress/handler.py +0 -0
  332. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/README.md +0 -0
  333. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/__init__.py +0 -0
  334. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/cognitive/get_profile/config.json +0 -0
  335. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/cognitive/get_profile/handler.py +0 -0
  336. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/cognitive/search_events/config.json +0 -0
  337. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/cognitive/search_events/handler.py +0 -0
  338. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/cognitive/search_profiles/config.json +0 -0
  339. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/cognitive/search_profiles/handler.py +0 -0
  340. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/contacts/query_friends/config.json +0 -0
  341. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/contacts/query_friends/handler.py +0 -0
  342. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/contacts/query_groups/config.json +0 -0
  343. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/contacts/query_groups/handler.py +0 -0
  344. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/README.md +0 -0
  345. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/activity_trend/config.json +0 -0
  346. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/activity_trend/handler.py +0 -0
  347. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/detect_inactive_risk/config.json +0 -0
  348. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/detect_inactive_risk/handler.py +0 -0
  349. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/filter_members/config.json +0 -0
  350. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/filter_members/handler.py +0 -0
  351. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/find_member/config.json +0 -0
  352. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/find_member/handler.py +0 -0
  353. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_files/config.json +0 -0
  354. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_files/handler.py +0 -0
  355. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_honor_info/config.json +0 -0
  356. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_honor_info/handler.py +0 -0
  357. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_member_activity/config.json +0 -0
  358. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_member_activity/handler.py +0 -0
  359. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_member_info/config.json +0 -0
  360. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_member_info/handler.py +0 -0
  361. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_member_list/config.json +0 -0
  362. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_member_list/handler.py +0 -0
  363. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_member_title/config.json +0 -0
  364. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_member_title/handler.py +0 -0
  365. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/level_distribution/config.json +0 -0
  366. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/level_distribution/handler.py +0 -0
  367. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/rank_members/config.json +0 -0
  368. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/rank_members/handler.py +0 -0
  369. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group_analysis/analyze_join_statistics/config.json +0 -0
  370. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group_analysis/analyze_join_statistics/handler.py +0 -0
  371. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group_analysis/analyze_member_messages/config.json +0 -0
  372. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group_analysis/analyze_member_messages/handler.py +0 -0
  373. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group_analysis/analyze_new_member_activity/config.json +0 -0
  374. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group_analysis/analyze_new_member_activity/handler.py +0 -0
  375. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/mcp/README.md +0 -0
  376. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/mcp/__init__.py +0 -0
  377. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/memory/README.md +0 -0
  378. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/memory/add/config.json +0 -0
  379. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/memory/add/handler.py +0 -0
  380. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/memory/delete/config.json +0 -0
  381. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/memory/delete/handler.py +0 -0
  382. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/memory/list/config.json +0 -0
  383. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/memory/list/handler.py +0 -0
  384. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/memory/update/config.json +0 -0
  385. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/memory/update/handler.py +0 -0
  386. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/README.md +0 -0
  387. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/get_forward_msg/config.json +0 -0
  388. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/get_forward_msg/handler.py +0 -0
  389. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/get_messages_by_time/config.json +0 -0
  390. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/get_messages_by_time/handler.py +0 -0
  391. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/get_recent_messages/config.json +0 -0
  392. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/get_recent_messages/handler.py +0 -0
  393. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/list_emojis/config.json +0 -0
  394. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/list_emojis/handler.py +0 -0
  395. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/config.json +0 -0
  396. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/handler.py +0 -0
  397. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/react_message_emoji/config.json +0 -0
  398. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/react_message_emoji/handler.py +0 -0
  399. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_group_sign/config.json +0 -0
  400. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_group_sign/handler.py +0 -0
  401. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_message/config.json +0 -0
  402. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_message/handler.py +0 -0
  403. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_poke/config.json +0 -0
  404. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_poke/handler.py +0 -0
  405. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_private_message/config.json +0 -0
  406. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_private_message/handler.py +0 -0
  407. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_text_file/callable.json +0 -0
  408. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_text_file/config.json +0 -0
  409. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_text_file/handler.py +0 -0
  410. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_url_file/callable.json +0 -0
  411. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_url_file/config.json +0 -0
  412. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_url_file/handler.py +0 -0
  413. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/notices/README.md +0 -0
  414. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/notices/get/config.json +0 -0
  415. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/notices/get/handler.py +0 -0
  416. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/notices/list/config.json +0 -0
  417. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/notices/list/handler.py +0 -0
  418. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/notices/stats/config.json +0 -0
  419. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/notices/stats/handler.py +0 -0
  420. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/render/README.md +0 -0
  421. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/render/render_html/config.json +0 -0
  422. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/render/render_html/handler.py +0 -0
  423. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/render/render_latex/config.json +0 -0
  424. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/render/render_latex/handler.py +0 -0
  425. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/render/render_markdown/config.json +0 -0
  426. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/render/render_markdown/handler.py +0 -0
  427. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/scheduler/README.md +0 -0
  428. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/scheduler/create_schedule_task/config.json +0 -0
  429. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/scheduler/create_schedule_task/handler.py +0 -0
  430. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/scheduler/delete_schedule_task/config.json +0 -0
  431. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/scheduler/delete_schedule_task/handler.py +0 -0
  432. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/scheduler/list_schedule_tasks/config.json +0 -0
  433. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/scheduler/list_schedule_tasks/handler.py +0 -0
  434. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/scheduler/update_schedule_task/config.json +0 -0
  435. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/scheduler/update_schedule_task/handler.py +0 -0
  436. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/token_usage_storage.py +0 -0
  437. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/__init__.py +0 -0
  438. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/cache.py +0 -0
  439. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/common.py +0 -0
  440. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/cors.py +0 -0
  441. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/file_lock.py +0 -0
  442. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/group_metrics.py +0 -0
  443. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/history.py +0 -0
  444. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/io.py +0 -0
  445. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/logging.py +0 -0
  446. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/member_utils.py +0 -0
  447. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/message_utils.py +0 -0
  448. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/paths.py +0 -0
  449. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/qq_emoji.py +0 -0
  450. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/recent_messages.py +0 -0
  451. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/request_params.py +0 -0
  452. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/resources.py +0 -0
  453. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/scheduler.py +0 -0
  454. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/self_update.py +0 -0
  455. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/sender.py +0 -0
  456. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/time_utils.py +0 -0
  457. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/xml.py +0 -0
  458. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/__init__.py +0 -0
  459. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/__main__.py +0 -0
  460. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/app.py +0 -0
  461. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/core.py +0 -0
  462. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/routes/__init__.py +0 -0
  463. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/routes/_auth.py +0 -0
  464. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/routes/_bot.py +0 -0
  465. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/routes/_index.py +0 -0
  466. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/routes/_logs.py +0 -0
  467. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/routes/_runtime.py +0 -0
  468. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/routes/_shared.py +0 -0
  469. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/routes/_system.py +0 -0
  470. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/css/.stylelintrc.json +0 -0
  471. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/css/app.css +0 -0
  472. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/css/base.css +0 -0
  473. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/css/components.css +0 -0
  474. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/css/landing.css +0 -0
  475. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/css/responsive.css +0 -0
  476. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/css/style.css +0 -0
  477. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/css/variables.css +0 -0
  478. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/favicon.svg +0 -0
  479. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/api.js +0 -0
  480. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/auth.js +0 -0
  481. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/bot.js +0 -0
  482. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/log-view.js +0 -0
  483. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/logs.js +0 -0
  484. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/main.js +0 -0
  485. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/runtime.js +0 -0
  486. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/state.js +0 -0
  487. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/ui.js +0 -0
  488. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/vendor/marked.min.js +0 -0
  489. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/templates/index.html +0 -0
  490. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/utils/__init__.py +0 -0
  491. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/utils/comment.py +0 -0
  492. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/utils/config_io.py +0 -0
  493. {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/utils/toml_render.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Undefined-bot
3
- Version: 3.2.2
3
+ Version: 3.2.5
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
@@ -79,7 +79,7 @@ Description-Content-Type: text/markdown
79
79
  </p>
80
80
  </td>
81
81
  <td width="30%">
82
- <img src="https://raw.githubusercontent.com/69gg/Undefined/main/img/head.jpg" width="100%" alt="Undefined" />
82
+ <img src="https://raw.githubusercontent.com/69gg/Undefined/main/img/head.png" width="100%" alt="Undefined" />
83
83
  </td>
84
84
  </tr>
85
85
  </table>
@@ -92,8 +92,6 @@ Description-Content-Type: text/markdown
92
92
 
93
93
  [点击添加官方实例QQ](https://qm.qq.com/q/cvjJoNysGA)
94
94
 
95
- > **推荐上手方式**:优先运行 `uv run Undefined-webui`。它会先拉起管理控制台,你可以在浏览器里直接补配置、校验配置、查看日志、启动 Bot;后续也可以用桌面端或 Android App 连接这同一个管理入口,实现远程管理。
96
-
97
95
  ## ⚡ 核心特性
98
96
 
99
97
  - **Skills 架构**:全新设计的技能系统,将基础工具(Tools)与智能代理(Agents)分层管理,支持自动发现与注册。
@@ -19,7 +19,7 @@
19
19
  </p>
20
20
  </td>
21
21
  <td width="30%">
22
- <img src="https://raw.githubusercontent.com/69gg/Undefined/main/img/head.jpg" width="100%" alt="Undefined" />
22
+ <img src="https://raw.githubusercontent.com/69gg/Undefined/main/img/head.png" width="100%" alt="Undefined" />
23
23
  </td>
24
24
  </tr>
25
25
  </table>
@@ -32,8 +32,6 @@
32
32
 
33
33
  [点击添加官方实例QQ](https://qm.qq.com/q/cvjJoNysGA)
34
34
 
35
- > **推荐上手方式**:优先运行 `uv run Undefined-webui`。它会先拉起管理控制台,你可以在浏览器里直接补配置、校验配置、查看日志、启动 Bot;后续也可以用桌面端或 Android App 连接这同一个管理入口,实现远程管理。
36
-
37
35
  ## ⚡ 核心特性
38
36
 
39
37
  - **Skills 架构**:全新设计的技能系统,将基础工具(Tools)与智能代理(Agents)分层管理,支持自动发现与注册。
@@ -95,8 +95,8 @@ api_mode = "chat_completions"
95
95
  # zh: 是否启用 reasoning.effort。
96
96
  # en: Enable reasoning.effort.
97
97
  reasoning_enabled = false
98
- # zh: reasoning.effort 档位:none / minimal / low / medium / high / xhigh。
99
- # en: reasoning.effort level: none / minimal / low / medium / high / xhigh.
98
+ # zh: reasoning effort 档位。
99
+ # en: reasoning effort level.
100
100
  reasoning_effort = "medium"
101
101
  # zh: 是否启用 thinking(思维链)。
102
102
  # en: Enable thinking (reasoning).
@@ -107,6 +107,9 @@ thinking_budget_tokens = 20000
107
107
  # zh: 是否在请求中发送 budget_tokens(关闭后由提供商决定思维预算)。
108
108
  # en: Whether to include budget_tokens in the request (if disabled, the provider decides the thinking budget).
109
109
  thinking_include_budget = true
110
+ # zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
111
+ # en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
112
+ reasoning_effort_style = "openai"
110
113
  # zh: 思维链工具调用兼容:启用后在多轮工具调用中回传 reasoning_content,避免部分模型返回 400。
111
114
  # en: Thinking tool-call compatibility: pass back reasoning_content in multi-turn tool calls to avoid 400 errors from some models.
112
115
  thinking_tool_call_compat = true
@@ -155,8 +158,8 @@ api_mode = "chat_completions"
155
158
  # zh: 是否启用 reasoning.effort。
156
159
  # en: Enable reasoning.effort.
157
160
  reasoning_enabled = false
158
- # zh: reasoning.effort 档位:none / minimal / low / medium / high / xhigh。
159
- # en: reasoning.effort level: none / minimal / low / medium / high / xhigh.
161
+ # zh: reasoning effort 档位。
162
+ # en: reasoning effort level.
160
163
  reasoning_effort = "medium"
161
164
  # zh: 是否启用 thinking(思维链)。
162
165
  # en: Enable thinking (reasoning).
@@ -167,6 +170,9 @@ thinking_budget_tokens = 20000
167
170
  # zh: 是否在请求中发送 budget_tokens(关闭后由提供商决定思维预算)。
168
171
  # en: Whether to include budget_tokens in the request (if disabled, the provider decides the thinking budget).
169
172
  thinking_include_budget = true
173
+ # zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
174
+ # en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
175
+ reasoning_effort_style = "openai"
170
176
  # zh: 思维链工具调用兼容:启用后在多轮工具调用中回传 reasoning_content,避免部分模型返回 400。
171
177
  # en: Thinking tool-call compatibility: pass back reasoning_content in multi-turn tool calls to avoid 400 errors from some models.
172
178
  thinking_tool_call_compat = true
@@ -208,8 +214,8 @@ api_mode = "chat_completions"
208
214
  # zh: 是否启用 reasoning.effort。
209
215
  # en: Enable reasoning.effort.
210
216
  reasoning_enabled = false
211
- # zh: reasoning.effort 档位:none / minimal / low / medium / high / xhigh。
212
- # en: reasoning.effort level: none / minimal / low / medium / high / xhigh.
217
+ # zh: reasoning effort 档位。
218
+ # en: reasoning effort level.
213
219
  reasoning_effort = "medium"
214
220
  # zh: 是否启用 thinking(思维链)。
215
221
  # en: Enable thinking (reasoning).
@@ -220,6 +226,9 @@ thinking_budget_tokens = 0
220
226
  # zh: 是否在请求中发送 budget_tokens(关闭后由提供商决定思维预算)。
221
227
  # en: Whether to include budget_tokens in the request (if disabled, the provider decides the thinking budget).
222
228
  thinking_include_budget = true
229
+ # zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
230
+ # en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
231
+ reasoning_effort_style = "openai"
223
232
  # zh: 思维链工具调用兼容:启用后在多轮工具调用中回传 reasoning_content,避免部分模型返回 400。
224
233
  # en: Thinking tool-call compatibility: pass back reasoning_content in multi-turn tool calls to avoid 400 errors from some models.
225
234
  thinking_tool_call_compat = true
@@ -234,6 +243,61 @@ responses_force_stateless_replay = false
234
243
  # en: Extra request-body params (optional), e.g. temperature or vendor-specific fields.
235
244
  [models.security.request_params]
236
245
 
246
+ # zh: Naga 外发消息审核模型配置(仅用于 Naga 通过 Runtime API 发消息前的内容审核)。
247
+ # zh: 若无必要可不填写;未配置时回退到 [models.security]。
248
+ # en: Naga outbound moderation model config (used only before Naga sends messages through the Runtime API).
249
+ # en: Optional; falls back to [models.security] when omitted.
250
+ [models.naga]
251
+ # zh: OpenAI-compatible 基址 URL,例如 https://api.openai.com/v1(legacy "/chat/completions" 已弃用但仍兼容)。
252
+ # en: OpenAI-compatible base URL, e.g. https://api.openai.com/v1. Note: legacy "/chat/completions" is deprecated but still supported.
253
+ api_url = ""
254
+ # zh: Naga 审核模型 API Key。
255
+ # en: Naga moderation model API key.
256
+ api_key = ""
257
+ # zh: Naga 审核模型名称。
258
+ # en: Naga moderation model name.
259
+ model_name = ""
260
+ # zh: 可选限制:最大生成 tokens。
261
+ # en: Optional limit: max generation tokens.
262
+ max_tokens = 160
263
+ # zh: 队列发车间隔(秒)。
264
+ # en: Queue interval (seconds).
265
+ queue_interval_seconds = 1.0
266
+ # zh: API 模式:传统 chat.completions 或新版 responses。
267
+ # en: API mode: classic chat.completions or the newer responses API.
268
+ api_mode = "chat_completions"
269
+ # zh: 是否启用 reasoning.effort。
270
+ # en: Enable reasoning.effort.
271
+ reasoning_enabled = false
272
+ # zh: reasoning effort 档位。
273
+ # en: reasoning effort level.
274
+ reasoning_effort = "medium"
275
+ # zh: 是否启用 thinking(思维链)。
276
+ # en: Enable thinking (reasoning).
277
+ thinking_enabled = false
278
+ # zh: thinking 预算 tokens。
279
+ # en: Thinking-budget tokens.
280
+ thinking_budget_tokens = 0
281
+ # zh: 是否在请求中发送 budget_tokens(关闭后由提供商决定思维预算)。
282
+ # en: Whether to include budget_tokens in the request (if disabled, the provider decides the thinking budget).
283
+ thinking_include_budget = true
284
+ # zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
285
+ # en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
286
+ reasoning_effort_style = "openai"
287
+ # zh: 思维链工具调用兼容:启用后在多轮工具调用中回传 reasoning_content,避免部分模型返回 400。
288
+ # en: Thinking tool-call compatibility: pass back reasoning_content in multi-turn tool calls to avoid 400 errors from some models.
289
+ thinking_tool_call_compat = true
290
+ # zh: Responses API 的 tool_choice 兼容模式。
291
+ # en: Responses API tool_choice compatibility mode.
292
+ responses_tool_choice_compat = false
293
+ # zh: Responses API 续轮强制降级。
294
+ # en: Responses API force stateless replay.
295
+ responses_force_stateless_replay = false
296
+
297
+ # zh: 额外请求体参数(可选),可用于 temperature 或供应商私有参数。
298
+ # en: Extra request-body params (optional), e.g. temperature or vendor-specific fields.
299
+ [models.naga.request_params]
300
+
237
301
  # zh: Agent 模型配置(用于执行 agents)。
238
302
  # en: Agent model config (used to run agents).
239
303
  [models.agent]
@@ -258,8 +322,8 @@ api_mode = "chat_completions"
258
322
  # zh: 是否启用 reasoning.effort。
259
323
  # en: Enable reasoning.effort.
260
324
  reasoning_enabled = false
261
- # zh: reasoning.effort 档位:none / minimal / low / medium / high / xhigh。
262
- # en: reasoning.effort level: none / minimal / low / medium / high / xhigh.
325
+ # zh: reasoning effort 档位。
326
+ # en: reasoning effort level.
263
327
  reasoning_effort = "medium"
264
328
  # zh: 是否启用 thinking(思维链)。
265
329
  # en: Enable thinking (reasoning).
@@ -270,6 +334,9 @@ thinking_budget_tokens = 0
270
334
  # zh: 是否在请求中发送 budget_tokens(关闭后由提供商决定思维预算)。
271
335
  # en: Whether to include budget_tokens in the request (if disabled, the provider decides the thinking budget).
272
336
  thinking_include_budget = true
337
+ # zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
338
+ # en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
339
+ reasoning_effort_style = "openai"
273
340
  # zh: 思维链工具调用兼容:启用后在多轮工具调用中回传 reasoning_content,避免部分模型返回 400。
274
341
  # en: Thinking tool-call compatibility: pass back reasoning_content in multi-turn tool calls to avoid 400 errors from some models.
275
342
  thinking_tool_call_compat = true
@@ -321,8 +388,8 @@ api_mode = "chat_completions"
321
388
  # zh: 是否启用 reasoning.effort。
322
389
  # en: Enable reasoning.effort.
323
390
  reasoning_enabled = false
324
- # zh: reasoning.effort 档位:none / minimal / low / medium / high / xhigh。
325
- # en: reasoning.effort level: none / minimal / low / medium / high / xhigh.
391
+ # zh: reasoning effort 档位。
392
+ # en: reasoning effort level.
326
393
  reasoning_effort = "medium"
327
394
  # zh: 是否启用 thinking(思维链)。
328
395
  # en: Enable thinking (reasoning).
@@ -333,6 +400,9 @@ thinking_budget_tokens = 0
333
400
  # zh: 是否在请求中发送 budget_tokens(关闭后由提供商决定思维预算)。
334
401
  # en: Whether to include budget_tokens in the request (if disabled, the provider decides the thinking budget).
335
402
  thinking_include_budget = true
403
+ # zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
404
+ # en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
405
+ reasoning_effort_style = "openai"
336
406
  # zh: 思维链工具调用兼容:启用后在多轮工具调用中回传 reasoning_content,避免部分模型返回 400。
337
407
  # en: Thinking tool-call compatibility: pass back reasoning_content in multi-turn tool calls to avoid 400 errors from some models.
338
408
  thinking_tool_call_compat = true
@@ -871,9 +941,9 @@ job_max_retries = 3
871
941
  # en: To get NagaAgent answering without external callbacks, only enable nagaagent_mode_enabled.
872
942
  # en: ⚠️ Advanced feature for NagaAgent integration. Not recommended for regular users.
873
943
  [naga]
874
- # zh: 是否启用外部网关集成(回调 API、/naga 命令、绑定管理)。
944
+ # zh: 是否启用外部网关集成(/naga bind/unbind、远端绑定回调、消息发送、解绑 API)。
875
945
  # zh: 需同时开启 [features].nagaagent_mode_enabled 才生效。
876
- # en: Enable external gateway integration (callback API, /naga command, bindings).
946
+ # en: Enable external gateway integration (/naga bind/unbind, bind callback, message send, unbind API).
877
947
  # en: Requires [features].nagaagent_mode_enabled = true to take effect.
878
948
  enabled = false
879
949
  # zh: Naga 服务器 API 地址。
@@ -882,6 +952,6 @@ api_url = ""
882
952
  # zh: 双方共享密钥(Undefined ↔ Naga 身份验证)。
883
953
  # en: Shared secret key for authentication between Undefined and Naga.
884
954
  api_key = ""
885
- # zh: Naga 服务群聊名单:绑定/回调群发仅限这些群。
886
- # en: Allowed groups for Naga binding and group callback delivery.
955
+ # zh: Naga 白名单群:/naga 在这些群中才可见;绑定和群聊投递也仅限这些群。
956
+ # en: Naga allowlisted groups: /naga is only visible here, and binding/group delivery are restricted to these groups.
887
957
  allowed_groups = []
Binary file
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "Undefined-bot"
3
- version = "3.2.2"
3
+ version = "3.2.5"
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 = [
@@ -0,0 +1,26 @@
1
+ 你是 Undefined 的 Naga 外发消息审核器。
2
+
3
+ 任务:
4
+ 1. 审核 Naga 准备发送到 QQ 的内容是否存在以下明确风险:
5
+ - pornography:涉黄、淫秽、性交易、未成年人性暗示等
6
+ - politics_illegal:违法涉政、煽动违法、危害国家安全、鼓动暴力或颠覆等
7
+ - personal_privacy:明确泄露个人隐私,如手机号、住址、身份证号、银行卡号、真实姓名+敏感联系方式等
8
+ 2. 输入里同时提供了:
9
+ - raw:原始内容
10
+ - plain_text:去渲染/去标签后的纯文本视图
11
+ 你必须同时判断这两种视图下的风险,尤其要检查“未渲染直接发送时”的安全风险。
12
+ 3. 只有在风险明确成立时才输出 block。无法确认、语义正常、只是普通讨论时输出 allow。
13
+
14
+ 输出要求:
15
+ - 必须调用提供的函数工具 `submit_naga_moderation_result`
16
+ - 不要把 JSON 写在正文里
17
+ - 不要输出 Markdown,不要解释,不要加代码块
18
+ - 通过函数参数提交:
19
+ - `decision`: `allow` 或 `block`
20
+ - `categories`: 风险类别数组
21
+ - `reason`: 简短中文原因
22
+
23
+ 规则:
24
+ - 若 `decision=allow`,则 `categories` 为空数组。
25
+ - 若 `decision=block`,则 `categories` 里至少包含一个上面的枚举值。
26
+ - 不要发明新字段,不要输出额外文本。
@@ -1,3 +1,3 @@
1
1
  """Undefined - A high-performance, highly scalable QQ group and private chat robot based on a self-developed architecture."""
2
2
 
3
- __version__ = "3.2.2"
3
+ __version__ = "3.2.5"
@@ -25,7 +25,9 @@ from Undefined.ai.transports import (
25
25
  API_MODE_RESPONSES,
26
26
  build_responses_request_body,
27
27
  get_api_mode,
28
- get_reasoning_payload,
28
+ get_effort_payload,
29
+ get_effort_style,
30
+ get_thinking_payload,
29
31
  normalize_responses_result,
30
32
  )
31
33
  from Undefined.ai.retrieval import RetrievalRequester
@@ -117,8 +119,10 @@ _CHAT_COMPLETIONS_RESERVED_FIELDS: frozenset[str] = (
117
119
  "tool_choice",
118
120
  "stream",
119
121
  "stream_options",
122
+ "thinking",
120
123
  "reasoning",
121
124
  "reasoning_effort",
125
+ "output_config",
122
126
  }
123
127
  )
124
128
  | _SDK_REQUEST_OPTION_FIELDS
@@ -139,6 +143,7 @@ _RESPONSES_RESERVED_FIELDS: frozenset[str] = (
139
143
  "thinking",
140
144
  "reasoning",
141
145
  "reasoning_effort",
146
+ "output_config",
142
147
  }
143
148
  )
144
149
  | _SDK_REQUEST_OPTION_FIELDS
@@ -870,6 +875,8 @@ def _build_effective_request_kwargs(
870
875
  getattr(model_config, "request_params", {}),
871
876
  overrides,
872
877
  )
878
+ thinking_override = overrides["thinking"] if "thinking" in overrides else None
879
+ has_thinking_override = "thinking" in overrides
873
880
  reserved_fields = (
874
881
  _RESPONSES_RESERVED_FIELDS
875
882
  if get_api_mode(model_config) == API_MODE_RESPONSES
@@ -879,11 +886,15 @@ def _build_effective_request_kwargs(
879
886
  merged,
880
887
  reserved_fields,
881
888
  )
889
+ if has_thinking_override:
890
+ ignored.pop("thinking", None)
882
891
  _warn_ignored_request_params(
883
892
  call_type=call_type,
884
893
  model_name=model_config.model_name,
885
894
  ignored=ignored,
886
895
  )
896
+ if has_thinking_override:
897
+ allowed["thinking"] = thinking_override
887
898
  return allowed
888
899
 
889
900
 
@@ -1447,12 +1458,20 @@ def build_request_body(
1447
1458
  """构建 API 请求体。"""
1448
1459
  api_mode = get_api_mode(model_config)
1449
1460
  extra_kwargs: dict[str, Any] = dict(kwargs)
1450
- reasoning_payload = get_reasoning_payload(model_config)
1461
+
1462
+ if "thinking" in extra_kwargs:
1463
+ normalized = _normalize_thinking_override(
1464
+ extra_kwargs.get("thinking"), model_config
1465
+ )
1466
+ if normalized is None:
1467
+ extra_kwargs.pop("thinking", None)
1468
+ else:
1469
+ extra_kwargs["thinking"] = normalized
1451
1470
 
1452
1471
  if api_mode == API_MODE_RESPONSES:
1453
- extra_kwargs.pop("thinking", None)
1454
1472
  extra_kwargs.pop("reasoning", None)
1455
1473
  extra_kwargs.pop("reasoning_effort", None)
1474
+ extra_kwargs.pop("output_config", None)
1456
1475
  return build_responses_request_body(
1457
1476
  model_config,
1458
1477
  messages,
@@ -1470,28 +1489,21 @@ def build_request_body(
1470
1489
  "max_tokens": max_tokens,
1471
1490
  }
1472
1491
 
1473
- if "thinking" in extra_kwargs:
1474
- normalized = _normalize_thinking_override(
1475
- extra_kwargs.get("thinking"), model_config
1476
- )
1477
- if normalized is None:
1478
- extra_kwargs.pop("thinking", None)
1479
- else:
1480
- extra_kwargs["thinking"] = normalized
1481
-
1482
1492
  extra_kwargs.pop("reasoning", None)
1483
1493
  extra_kwargs.pop("reasoning_effort", None)
1494
+ extra_kwargs.pop("output_config", None)
1484
1495
 
1485
- if getattr(model_config, "thinking_enabled", False):
1486
- thinking_param: dict[str, Any] = {"type": "enabled"}
1487
- if getattr(model_config, "thinking_include_budget", True):
1488
- thinking_param["budget_tokens"] = getattr(
1489
- model_config, "thinking_budget_tokens", 0
1490
- )
1491
- body["thinking"] = thinking_param
1496
+ thinking = get_thinking_payload(model_config)
1497
+ if thinking is not None:
1498
+ body["thinking"] = thinking
1492
1499
 
1493
- if reasoning_payload is not None:
1494
- body["reasoning"] = reasoning_payload
1500
+ effort_payload = get_effort_payload(model_config)
1501
+ if effort_payload is not None:
1502
+ style = get_effort_style(model_config)
1503
+ if style == "anthropic":
1504
+ body["output_config"] = effort_payload
1505
+ else:
1506
+ body["reasoning"] = effort_payload
1495
1507
 
1496
1508
  if tools:
1497
1509
  body["tools"] = tools
@@ -5,7 +5,10 @@ from .openai_transport import (
5
5
  API_MODE_RESPONSES,
6
6
  build_responses_request_body,
7
7
  get_api_mode,
8
+ get_effort_payload,
9
+ get_effort_style,
8
10
  get_reasoning_payload,
11
+ get_thinking_payload,
9
12
  normalize_api_mode,
10
13
  normalize_reasoning_effort,
11
14
  normalize_responses_result,
@@ -16,7 +19,10 @@ __all__ = [
16
19
  "API_MODE_RESPONSES",
17
20
  "build_responses_request_body",
18
21
  "get_api_mode",
22
+ "get_effort_payload",
23
+ "get_effort_style",
19
24
  "get_reasoning_payload",
25
+ "get_thinking_payload",
20
26
  "normalize_api_mode",
21
27
  "normalize_reasoning_effort",
22
28
  "normalize_responses_result",
@@ -6,7 +6,6 @@ from typing import Any
6
6
  API_MODE_CHAT_COMPLETIONS = "chat_completions"
7
7
  API_MODE_RESPONSES = "responses"
8
8
  _VALID_API_MODES = {API_MODE_CHAT_COMPLETIONS, API_MODE_RESPONSES}
9
- _VALID_REASONING_EFFORTS = {"none", "minimal", "low", "medium", "high", "xhigh"}
10
9
 
11
10
 
12
11
  def normalize_api_mode(value: Any, default: str = API_MODE_CHAT_COMPLETIONS) -> str:
@@ -23,13 +22,28 @@ def get_api_mode(model_config: Any) -> str:
23
22
 
24
23
 
25
24
  def normalize_reasoning_effort(value: Any, default: str = "medium") -> str:
26
- text = str(value or default).strip().lower()
27
- if text not in _VALID_REASONING_EFFORTS:
28
- return default
29
- return text
25
+ return str(value or default).strip().lower()
30
26
 
31
27
 
32
28
  def get_reasoning_payload(model_config: Any) -> dict[str, Any] | None:
29
+ return get_effort_payload(model_config)
30
+
31
+
32
+ _VALID_REASONING_EFFORT_STYLES = {"openai", "anthropic"}
33
+
34
+
35
+ def get_thinking_payload(model_config: Any) -> dict[str, Any] | None:
36
+ """构建 thinking 请求参数,仅由 thinking_* 配置控制。"""
37
+ if not bool(getattr(model_config, "thinking_enabled", False)):
38
+ return None
39
+ param: dict[str, Any] = {"type": "enabled"}
40
+ if bool(getattr(model_config, "thinking_include_budget", True)):
41
+ param["budget_tokens"] = int(getattr(model_config, "thinking_budget_tokens", 0))
42
+ return param
43
+
44
+
45
+ def get_effort_payload(model_config: Any) -> dict[str, Any] | None:
46
+ """构建 effort 请求参数(仅在 reasoning_enabled 启用时生效)。"""
33
47
  if not bool(getattr(model_config, "reasoning_enabled", False)):
34
48
  return None
35
49
  return {
@@ -39,6 +53,15 @@ def get_reasoning_payload(model_config: Any) -> dict[str, Any] | None:
39
53
  }
40
54
 
41
55
 
56
+ def get_effort_style(model_config: Any) -> str:
57
+ style = (
58
+ str(getattr(model_config, "reasoning_effort_style", "openai") or "openai")
59
+ .strip()
60
+ .lower()
61
+ )
62
+ return style if style in _VALID_REASONING_EFFORT_STYLES else "openai"
63
+
64
+
42
65
  def _stringify_content(value: Any) -> str:
43
66
  if value is None:
44
67
  return ""
@@ -334,9 +357,16 @@ def build_responses_request_body(
334
357
  "model": getattr(model_config, "model_name"),
335
358
  "max_output_tokens": max_tokens,
336
359
  }
337
- reasoning = get_reasoning_payload(model_config)
338
- if reasoning is not None:
339
- body["reasoning"] = reasoning
360
+ thinking = get_thinking_payload(model_config)
361
+ effort_payload = get_effort_payload(model_config)
362
+ if effort_payload is not None:
363
+ style = get_effort_style(model_config)
364
+ if style == "anthropic":
365
+ body["output_config"] = effort_payload
366
+ else:
367
+ body["reasoning"] = effort_payload
368
+ if thinking is not None:
369
+ body["thinking"] = thinking
340
370
  if tools:
341
371
  normalized_tools = _normalize_responses_tools(tools, internal_to_api)
342
372
  normalized_tool_choice, selected_tool_name = _normalize_responses_tool_choice(