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.
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/CHANGELOG.md +12 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/PKG-INFO +2 -2
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/README.md +1 -1
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/pyproject.toml +1 -1
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/undefined.xml +8 -8
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/undefined_nagaagent.xml +19 -13
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/__init__.py +1 -1
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/attachments/models.py +2 -1
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/attachments/registry.py +65 -2
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/attachments/segments.py +52 -8
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/handlers/message_flow.py +202 -17
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/handlers/poke.py +1 -1
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/coordinator/group.py +6 -6
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/coordinator/private.py +1 -1
- undefined_bot-3.6.2/src/Undefined/skills/toolsets/messages/get_forward_msg/config.json +29 -0
- undefined_bot-3.6.2/src/Undefined/skills/toolsets/messages/get_forward_msg/handler.py +253 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/xml.py +21 -9
- undefined_bot-3.6.1/src/Undefined/services/ai_coordinator.py +0 -1092
- undefined_bot-3.6.1/src/Undefined/skills/toolsets/messages/get_forward_msg/config.json +0 -17
- undefined_bot-3.6.1/src/Undefined/skills/toolsets/messages/get_forward_msg/handler.py +0 -131
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/.gitignore +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/ARCHITECTURE.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/LICENSE +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/config/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/config/mcp.json.example +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/config.toml.example +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/img/xlwy.jpg +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/IMPORTANT/each.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/agent_self_intro.txt +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/analyze_multimodal.txt +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/describe_image.txt +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/describe_meme_image.txt +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/generate_title.txt +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/historian_profile_merge.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/historian_rewrite.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/image_gen_moderation.txt +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/injection_detector.txt +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/injection_response_agent.txt +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/judge_meme_image.txt +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/merge_message_summaries.txt +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/merge_summaries.txt +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/message_summary.txt +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/naga_message_moderation.txt +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/stats_analysis.txt +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/res/prompts/summarize.txt +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/__main__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/client/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/client/ask_loop.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/client/queue.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/client/setup.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/crawl4ai_support.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/http.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/llm/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/llm/requester.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/llm/sanitize.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/llm/streaming.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/llm/thinking.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/llm/types.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/model_selector.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/multimodal/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/multimodal/analyzer.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/multimodal/constants.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/multimodal/detection.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/multimodal/parsing.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/parsing.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/prompts/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/prompts/builder.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/prompts/cognitive.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/prompts/constants.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/prompts/current_input.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/prompts/system_context.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/queue_budget.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/retrieval.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/summaries.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/tokens.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/tooling.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/transports/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/ai/transports/openai_transport.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/_context.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/_helpers.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/_naga_state.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/_openapi.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/_probes.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/app.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/naga_store.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/chat.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/cognitive.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/commands.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/health.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/memes.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/memory.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/naga/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/naga/auth.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/naga/bind.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/naga/send.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/naga/unbind.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/schedules.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/system.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/routes/tools.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/api/webchat_store.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/arxiv/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/arxiv/client.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/arxiv/downloader.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/arxiv/models.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/arxiv/parser.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/arxiv/sender.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/attachments/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/attachments/render.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/api_client.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/danmaku.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/download_core.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/downloader.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/errors.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/models.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/parser.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/sender.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/wbi.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/bilibili/wbi_request.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/changelog.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/chroma_scheduler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/historian/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/historian/helpers.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/historian/tools.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/historian/worker.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/job_queue.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/profile_storage.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/service/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/service/helpers.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/service/service.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/vector_store.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/cognitive/vector_store_compat.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/admin.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/build_config.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/coercers.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/config_class.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/domain_parsers.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/env_registry.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/hot_reload.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/access.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/core.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/domains.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/finalize.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/history_skills.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/integrations.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/knowledge.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/logging_tools.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/models.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/load_sections/network.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/loader.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/manager.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/model_parsers.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/models.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/agent.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/chat.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/embedding.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/grok.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/helpers.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/historian.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/image.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/naga.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/pool.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/security.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/summary.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/parsers/vision.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/resolvers.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/toml_io.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/config/webui_settings.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/context.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/context_resource_registry.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/end_summary_storage.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/faq.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/github/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/github/client.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/github/models.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/github/parser.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/github/sender.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/handlers/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/handlers/auto_extract.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/handlers/repeat.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/injection_response_agent.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/knowledge/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/knowledge/chunker.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/knowledge/embedder.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/knowledge/manager.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/knowledge/reranker.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/knowledge/runtime.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/knowledge/store.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/main.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/mcp/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/mcp/registry.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memes/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memes/_image_utils.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memes/ingest.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memes/models.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memes/search.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memes/service.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memes/store.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memes/vector_store.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memes/worker.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/memory.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/onebot/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/onebot/client.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/onebot/message.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/py.typed +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/rate_limit.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/render.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/scheduled_task_storage.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/command.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/commands/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/commands/bugfix.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/commands/context.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/commands/registry.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/commands/stats.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/coordinator/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/coordinator/background.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/coordinator/batching.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/coordinator/message_ids.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/message_batcher/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/message_batcher/scheduler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/message_batcher/state.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/message_summary_fetch.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/model_pool.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/queue_manager.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/services/security.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/agent_tool_registry.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/docker_utils.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/intro.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/mcp.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/prompt.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/end/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/end/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/read/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/read/handler.py +0 -0
- {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
- {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
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/write/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/code_delivery_agent/tools/write/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/intro.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/prompt.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/intro.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/prompt.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/handler.py +0 -0
- {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
- {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
- {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
- {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
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/handler.py +0 -0
- {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
- {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
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/intro.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/prompt.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/baiduhot/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/baiduhot/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/base64/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/base64/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/douyinhot/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/douyinhot/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/gold_price/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/gold_price/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/hash/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/hash/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/history/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/history/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/net_check/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/net_check/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/speed/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/speed/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/tcping/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/tcping/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/weather_query/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/weather_query/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/weibohot/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/weibohot/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/whois/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/info_agent/tools/whois/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/intro_generator.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/intro_utils.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/intro.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/mcp.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/prompt.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/handler.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/runner/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/runner/context.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/runner/loop.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/runner/tools.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/runner/webchat_utils.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/summary_agent/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/summary_agent/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/summary_agent/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/summary_agent/intro.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/summary_agent/prompt.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/summary_agent/tools/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/intro.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/prompt.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/_shared.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/glob/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/glob/handler.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/callable.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/intro.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/mcp.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/prompt.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/tools/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/tools/grok_search/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/tools/grok_search/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/tools/web_search/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/agents/web_agent/tools/web_search/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/anthropic_skills/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/anthropic_skills/loader.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/admin/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/admin/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/admin/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/bugfix/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/bugfix/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/bugfix/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/changelog/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/changelog/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/changelog/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/copyright/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/copyright/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/copyright/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/faq/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/faq/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/faq/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/feedback/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/feedback/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/feedback/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/help/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/help/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/help/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/naga/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/naga/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/naga/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/naga/policy.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/profile/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/profile/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/profile/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/stats/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/stats/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/stats/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/summary/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/summary/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/version/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/commands/version/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/http_client.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/http_config.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/arxiv/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/arxiv/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/bilibili/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/bilibili/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/context.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/github/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/github/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/models.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/pipelines/registry.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/registry.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/arxiv_paper/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/arxiv_paper/callable.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/arxiv_paper/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/arxiv_paper/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/bilibili_video/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/bilibili_video/callable.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/bilibili_video/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/bilibili_video/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/calculator/callable.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/calculator/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/calculator/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/changelog_query/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/changelog_query/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/changelog_query/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/end/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/end/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/end/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/fetch_image_uid/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/fetch_image_uid/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_current_time/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_current_time/callable.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_current_time/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_current_time/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_picture/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_picture/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_picture/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_user_info/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_user_info/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/get_user_info/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/knowledge_list/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/knowledge_list/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/knowledge_semantic_search/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/knowledge_semantic_search/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/knowledge_text_search/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/knowledge_text_search/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/python_interpreter/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/python_interpreter/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/python_interpreter/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/qq_like/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/qq_like/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/qq_like/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/task_progress/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/tools/task_progress/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/cognitive/get_profile/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/cognitive/get_profile/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/cognitive/search_events/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/cognitive/search_events/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/cognitive/search_profiles/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/cognitive/search_profiles/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/contacts/query_friends/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/contacts/query_friends/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/contacts/query_groups/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/contacts/query_groups/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/find_member/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/find_member/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_avatar/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_avatar/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_files/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_files/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_honor_info/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_honor_info/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_member_info/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_member_info/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_member_list/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_member_list/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_member_title/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group/get_member_title/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/activity_trend/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/activity_trend/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/filter_members/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/filter_members/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/join_statistics/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/join_statistics/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/level_distribution/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/level_distribution/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/member_activity/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/member_activity/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/member_messages/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/member_messages/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/member_structure/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/member_structure/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/message_mix/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/message_mix/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/rank_members/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/group_analysis/rank_members/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/mcp/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/mcp/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memes/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memes/search_memes/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memes/search_memes/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memory/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memory/add/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memory/add/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memory/delete/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memory/delete/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memory/list/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memory/list/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memory/update/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/memory/update/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/context_utils.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/get_messages_by_time/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/get_messages_by_time/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/get_recent_messages/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/get_recent_messages/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/list_emojis/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/list_emojis/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/react_message_emoji/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/react_message_emoji/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_group_sign/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_group_sign/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_message/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_message/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_poke/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_poke/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_private_message/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_private_message/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_text_file/callable.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_text_file/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_text_file/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_url_file/callable.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_url_file/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/messages/send_url_file/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/notices/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/notices/get/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/notices/get/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/notices/list/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/notices/list/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/notices/stats/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/notices/stats/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/render/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/render/render_html/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/render/render_html/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/render/render_latex/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/render/render_latex/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/render/render_markdown/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/render/render_markdown/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/scheduler/README.md +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/scheduler/create_schedule_task/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/scheduler/create_schedule_task/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/scheduler/delete_schedule_task/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/scheduler/delete_schedule_task/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/scheduler/list_schedule_tasks/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/scheduler/list_schedule_tasks/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/scheduler/update_schedule_task/config.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/skills/toolsets/scheduler/update_schedule_task/handler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/token_usage_storage.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/cache.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/coerce.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/common.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/cors.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/fake_at.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/file_lock.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/group_metrics.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/history.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/http_download.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/io.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/logging.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/member_utils.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/message_targets.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/message_turn.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/message_utils.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/paths.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/qq_emoji.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/queue_intervals.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/recent_messages.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/render_cache.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/request_params.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/resources.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/scheduler.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/self_update.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/sender.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/sender_helpers.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/time_utils.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/utils/tool_calls.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/__main__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/app.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/core.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/_auth.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/_bot.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/_config.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/_index.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/_logs.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/_memes.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/_runtime.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/_shared.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/routes/_system.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/css/.stylelintrc.json +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/css/app.css +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/css/base.css +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/css/components.css +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/css/highlight-github.min.css +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/css/landing.css +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/css/responsive.css +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/css/style.css +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/css/variables.css +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/favicon.svg +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/api.js +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/auth.js +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/bot.js +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/config-form.js +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/i18n.js +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/log-view.js +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/logs.js +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/main.js +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/memes.js +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/runtime.js +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/schedules.js +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/state.js +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/ui.js +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/vendor/highlight.min.js +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/vendor/highlightjs.LICENSE +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/static/js/vendor/marked.min.js +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/templates/index.html +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/utils/__init__.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/utils/comment.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/utils/config_io.py +0 -0
- {undefined_bot-3.6.1 → undefined_bot-3.6.2}/src/Undefined/webui/utils/config_sync.py +0 -0
- {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.
|
|
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) —
|
|
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) —
|
|
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
|
|
|
@@ -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
|
-
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
-
|
|
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
|
把整批 <message> 视作本轮的全部输入:
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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 =
|
|
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 =
|
|
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
|
|
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
|
-
|
|
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
|
)
|