Undefined-bot 3.13.3__tar.gz → 3.14.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/CHANGELOG.md +14 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/PKG-INFO +1 -1
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/config.toml.example +7 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/pyproject.toml +1 -1
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/__init__.py +1 -1
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/_openapi.py +33 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/app.py +42 -8
- undefined_bot-3.14.0/src/Undefined/api/routes/onebot_files.py +64 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/attachments/render.py +4 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/bilibili/sender.py +4 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/config_class.py +3 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/env_registry.py +2 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/load_sections/core.py +8 -0
- undefined_bot-3.14.0/src/Undefined/config/onebot.py +63 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/main.py +5 -1
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/onebot/client.py +162 -96
- undefined_bot-3.14.0/src/Undefined/onebot/file_errors.py +22 -0
- undefined_bot-3.14.0/src/Undefined/onebot/file_references.py +107 -0
- undefined_bot-3.14.0/src/Undefined/onebot/file_store.py +154 -0
- undefined_bot-3.14.0/src/Undefined/onebot/file_transport.py +303 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/README.md +3 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/context_utils.py +13 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/send_message/handler.py +12 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/send_private_message/handler.py +12 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/send_text_file/handler.py +3 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/send_url_file/handler.py +3 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/send_voice/handler.py +3 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/io.py +42 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/logging.py +5 -4
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/paths.py +1 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/sender.py +7 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/config-form.js +4 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/.gitignore +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/ARCHITECTURE.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/LICENSE +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/config/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/config/mcp.json.example +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/img/undefined-9527.png +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/img/xlwy.jpg +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/IMPORTANT/each.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/prompts/agent_self_intro.txt +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/prompts/analyze_multimodal.txt +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/prompts/describe_image.txt +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/prompts/describe_meme_image.txt +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/prompts/generate_title.txt +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/prompts/historian_profile_merge.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/prompts/historian_rewrite.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/prompts/image_gen_moderation.txt +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/prompts/injection_detector.txt +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/prompts/injection_response_agent.txt +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/prompts/judge_meme_image.txt +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/prompts/merge_message_summaries.txt +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/prompts/merge_summaries.txt +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/prompts/message_summary.txt +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/prompts/naga_message_moderation.txt +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/prompts/stats_analysis.txt +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/prompts/summarize.txt +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/prompts/undefined.xml +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/res/prompts/undefined_nagaagent.xml +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/__main__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/client/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/client/ask_loop.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/client/queue.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/client/setup.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/crawl4ai_support.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/http.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/llm/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/llm/requester.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/llm/retry.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/llm/sanitize.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/llm/streaming.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/llm/thinking.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/llm/types.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/model_selector.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/multimodal/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/multimodal/analyzer.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/multimodal/constants.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/multimodal/detection.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/multimodal/parsing.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/parsing.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/prompts/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/prompts/builder.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/prompts/cognitive.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/prompts/constants.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/prompts/current_input.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/prompts/file_includes.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/prompts/system_context.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/prompts/system_info.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/queue_budget.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/retrieval.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/summaries.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/tokens.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/tool_search.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/tooling.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/transports/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/transports/anthropic_transport.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/transports/openai_transport.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/ai/transports/replay.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/_context.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/_helpers.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/_naga_state.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/_probes.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/naga_store.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/routes/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/routes/automations.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/routes/chat.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/routes/cognitive.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/routes/commands.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/routes/health.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/routes/memes.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/routes/memory.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/routes/naga/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/routes/naga/auth.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/routes/naga/bind.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/routes/naga/send.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/routes/naga/unbind.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/routes/schedules.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/routes/system.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/routes/tools.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/routes/weixin.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/api/webchat_store.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/arxiv/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/arxiv/client.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/arxiv/downloader.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/arxiv/models.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/arxiv/parser.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/arxiv/sender.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/attachments/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/attachments/forward_snapshot.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/attachments/models.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/attachments/registry.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/attachments/segments.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/automations/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/automations/address.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/automations/catalog.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/automations/clock.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/automations/constants.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/automations/engine.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/automations/extract.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/automations/logutil.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/automations/match.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/automations/mentions.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/automations/migrate.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/automations/runner.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/automations/service.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/automations/short.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/automations/storage.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/automations/template.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/automations/triggers.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/automations/validate.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/bilibili/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/bilibili/api_client.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/bilibili/danmaku.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/bilibili/download_core.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/bilibili/downloader.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/bilibili/errors.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/bilibili/models.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/bilibili/parser.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/bilibili/wbi.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/bilibili/wbi_request.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/changelog.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/cognitive/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/cognitive/chroma_scheduler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/cognitive/historian/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/cognitive/historian/helpers.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/cognitive/historian/tools.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/cognitive/historian/worker.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/cognitive/job_queue.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/cognitive/profile_storage.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/cognitive/service/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/cognitive/service/helpers.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/cognitive/service/service.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/cognitive/vector_store.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/cognitive/vector_store_compat.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/admin.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/api_modes.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/build_config.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/coercers.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/domain_parsers.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/hot_reload.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/load_sections/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/load_sections/access.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/load_sections/domains.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/load_sections/finalize.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/load_sections/history_skills.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/load_sections/integrations.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/load_sections/knowledge.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/load_sections/logging_tools.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/load_sections/models.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/load_sections/network.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/loader.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/manager.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/model_parsers.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/models.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/naga_policy.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/parsers/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/parsers/agent.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/parsers/chat.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/parsers/embedding.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/parsers/grok.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/parsers/helpers.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/parsers/historian.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/parsers/image.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/parsers/naga.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/parsers/pool.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/parsers/security.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/parsers/summary.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/parsers/vision.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/resolvers.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/search.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/toml_io.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/config/webui_settings.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/context.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/context_resource_registry.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/douyin/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/douyin/client.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/douyin/downloader.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/douyin/models.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/douyin/parser.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/douyin/sender.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/end_summary_storage.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/faq.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/github/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/github/client.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/github/models.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/github/parser.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/github/sender.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/handlers/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/handlers/auto_extract.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/handlers/message_flow.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/handlers/poke.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/handlers/repeat.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/injection_response_agent.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/knowledge/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/knowledge/chunker.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/knowledge/embedder.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/knowledge/manager.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/knowledge/reranker.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/knowledge/runtime.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/knowledge/store.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/mcp/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/mcp/registry.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/memes/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/memes/_image_utils.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/memes/ingest.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/memes/models.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/memes/search.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/memes/service.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/memes/store.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/memes/vector_store.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/memes/worker.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/memory.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/onebot/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/onebot/message.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/py.typed +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/rate_limit.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/render.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/command.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/commands/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/commands/bugfix.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/commands/catalog.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/commands/context.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/commands/registry.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/commands/stats.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/coordinator/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/coordinator/background.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/coordinator/batching.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/coordinator/group.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/coordinator/message_ids.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/coordinator/private.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/message_batcher/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/message_batcher/scheduler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/message_batcher/state.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/message_summary_fetch.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/model_pool.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/queue_manager.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/services/security.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/agent_tool_registry.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/docker_utils.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/intro.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/mcp.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/prompt.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/end/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/end/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/read/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/read/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/write/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/code_delivery_agent/tools/write/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/entertainment_agent/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/entertainment_agent/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/entertainment_agent/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/entertainment_agent/intro.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/entertainment_agent/prompt.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/entertainment_agent/tools/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/intro.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/prompt.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/describe_pdf_page/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/describe_pdf_page/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/intro.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/prompt.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/baiduhot/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/baiduhot/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/base64/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/base64/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/douyinhot/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/douyinhot/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/gold_price/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/gold_price/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/hash/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/hash/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/history/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/history/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/net_check/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/net_check/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/speed/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/speed/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/tcping/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/tcping/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/weather_query/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/weather_query/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/weibohot/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/weibohot/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/whois/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/info_agent/tools/whois/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/intro_generator.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/intro_utils.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/naga_code_analysis_agent/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/naga_code_analysis_agent/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/naga_code_analysis_agent/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/naga_code_analysis_agent/intro.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/naga_code_analysis_agent/mcp.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/naga_code_analysis_agent/prompt.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/runner/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/runner/context.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/runner/loop.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/runner/tools.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/runner/webchat_utils.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/summary_agent/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/summary_agent/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/summary_agent/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/summary_agent/intro.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/summary_agent/prompt.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/summary_agent/tools/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/undefined_self_code_agent/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/undefined_self_code_agent/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/undefined_self_code_agent/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/undefined_self_code_agent/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/undefined_self_code_agent/intro.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/undefined_self_code_agent/prompt.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/_shared.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/glob/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/glob/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/list_directory/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/list_directory/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/read_file/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/read_file/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/search_file_content/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/search_file_content/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/web_agent/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/web_agent/callable.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/web_agent/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/web_agent/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/web_agent/intro.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/web_agent/mcp.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/web_agent/prompt.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/web_agent/tools/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/web_agent/tools/firecrawl_search/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/web_agent/tools/firecrawl_search/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/web_agent/tools/grok_search/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/web_agent/tools/grok_search/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/web_agent/tools/web_search/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/agents/web_agent/tools/web_search/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/anthropic_skills/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/anthropic_skills/loader.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/admin/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/admin/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/admin/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/bugfix/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/bugfix/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/bugfix/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/changelog/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/changelog/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/changelog/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/copyright/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/copyright/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/copyright/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/faq/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/faq/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/faq/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/feedback/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/feedback/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/feedback/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/help/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/help/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/help/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/naga/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/naga/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/naga/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/naga/policy.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/profile/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/profile/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/profile/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/stats/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/stats/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/stats/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/summary/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/summary/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/version/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/commands/version/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/http_client.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/http_config.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/pipelines/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/pipelines/arxiv/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/pipelines/arxiv/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/pipelines/bilibili/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/pipelines/bilibili/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/pipelines/context.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/pipelines/douyin/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/pipelines/douyin/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/pipelines/github/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/pipelines/github/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/pipelines/models.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/pipelines/registry.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/registry.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/arxiv_paper/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/arxiv_paper/callable.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/arxiv_paper/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/arxiv_paper/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/bilibili_video/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/bilibili_video/callable.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/bilibili_video/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/bilibili_video/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/calculator/callable.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/calculator/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/calculator/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/changelog_query/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/changelog_query/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/changelog_query/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/douyin_video/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/douyin_video/callable.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/douyin_video/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/douyin_video/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/end/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/end/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/end/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/fetch_image_uid/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/fetch_image_uid/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/get_current_time/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/get_current_time/callable.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/get_current_time/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/get_current_time/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/get_picture/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/get_picture/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/get_picture/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/get_user_info/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/get_user_info/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/get_user_info/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/knowledge_list/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/knowledge_list/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/knowledge_semantic_search/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/knowledge_semantic_search/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/knowledge_text_search/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/knowledge_text_search/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/python_interpreter/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/python_interpreter/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/python_interpreter/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/qq_like/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/qq_like/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/qq_like/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/task_progress/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/tools/task_progress/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/automation/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/automation/_runtime.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/automation/create/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/automation/create/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/automation/delete/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/automation/delete/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/automation/get/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/automation/get/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/automation/list/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/automation/list/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/automation/set_enabled/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/automation/set_enabled/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/automation/update/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/automation/update/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/cognitive/get_profile/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/cognitive/get_profile/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/cognitive/search_events/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/cognitive/search_events/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/cognitive/search_profiles/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/cognitive/search_profiles/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/commands/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/commands/get/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/commands/get/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/commands/search/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/commands/search/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/contacts/query_friends/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/contacts/query_friends/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/contacts/query_groups/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/contacts/query_groups/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group/find_member/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group/find_member/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group/get_avatar/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group/get_avatar/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group/get_files/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group/get_files/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group/get_honor_info/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group/get_honor_info/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group/get_member_info/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group/get_member_info/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group/get_member_list/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group/get_member_list/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group/get_member_title/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group/get_member_title/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/activity_trend/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/activity_trend/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/filter_members/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/filter_members/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/join_statistics/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/join_statistics/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/level_distribution/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/level_distribution/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/member_activity/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/member_activity/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/member_messages/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/member_messages/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/member_structure/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/member_structure/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/message_mix/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/message_mix/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/rank_members/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/group_analysis/rank_members/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/mcp/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/mcp/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/memes/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/memes/search_memes/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/memes/search_memes/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/memory/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/memory/add/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/memory/add/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/memory/delete/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/memory/delete/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/memory/list/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/memory/list/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/memory/update/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/memory/update/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/get_forward_msg/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/get_forward_msg/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/get_messages_by_time/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/get_messages_by_time/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/get_recent_messages/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/get_recent_messages/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/list_emojis/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/list_emojis/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/react_message_emoji/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/react_message_emoji/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/send_group_sign/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/send_group_sign/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/send_message/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/send_poke/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/send_poke/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/send_private_message/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/send_text_file/callable.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/send_text_file/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/send_url_file/callable.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/send_url_file/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/messages/send_voice/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/_client.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/_constants.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/_tools.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/_track_refs.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/browse_playlists/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/browse_playlists/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/browse_rankings/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/browse_rankings/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/find_song_matches/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/find_song_matches/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/get_audio/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/get_audio/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/get_comments/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/get_comments/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/get_cover/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/get_cover/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/get_hot_search/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/get_hot_search/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/get_lyrics/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/get_lyrics/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/search_playlists/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/search_playlists/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/search_songs/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/music/search_songs/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/notices/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/notices/get/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/notices/get/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/notices/list/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/notices/list/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/notices/stats/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/notices/stats/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/render/README.md +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/render/layout.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/render/render_html/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/render/render_html/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/render/render_latex/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/render/render_latex/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/render/render_markdown/config.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/skills/toolsets/render/render_markdown/handler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/token_usage_storage.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/cache.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/coerce.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/common.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/cors.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/easter_egg_calls.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/fake_at.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/file_lock.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/group_metrics.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/history.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/http_download.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/member_utils.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/message_reply.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/message_targets.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/message_turn.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/message_utils.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/qq_emoji.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/queue_intervals.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/recent_messages.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/render_cache.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/request_params.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/resources.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/scheduler.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/self_update.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/sender_helpers.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/time_utils.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/tool_calls.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/utils/xml.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/__main__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/app.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/core.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/routes/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/routes/_auth.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/routes/_bot.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/routes/_config.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/routes/_index.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/routes/_logs.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/routes/_memes.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/routes/_runtime.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/routes/_shared.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/routes/_system.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/routes/_weixin.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/css/.stylelintrc.json +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/css/app.css +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/css/base.css +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/css/components.css +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/css/highlight-github.min.css +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/css/landing.css +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/css/responsive.css +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/css/style.css +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/css/variables.css +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/css/workflow.css +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/favicon.svg +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/api.js +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/auth.js +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/bot.js +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/i18n.js +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/log-view.js +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/logs.js +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/main.js +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/memes.js +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/runtime.js +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/schedules.js +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/state.js +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/ui.js +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/vendor/highlight.min.js +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/vendor/highlightjs.LICENSE +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/vendor/marked.min.js +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/weixin.js +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/workflow-canvas.js +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/workflow-graph.js +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/static/js/workflow-inspector.js +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/templates/index.html +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/utils/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/utils/comment.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/utils/config_io.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/utils/config_sync.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/webui/utils/toml_render.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/weixin/__init__.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/weixin/audio.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/weixin/models.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/weixin/service.py +0 -0
- {undefined_bot-3.13.3 → undefined_bot-3.14.0}/src/Undefined/weixin/store.py +0 -0
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## v3.14.0 OneBot 本地文件三模式传输
|
|
2
|
+
|
|
3
|
+
本版本为 Bot 本地文件新增统一传输层,支持 `local`、`url`、`stream` 三种发送方式并按投递快照热更新;默认保持 `local` 兼容旧部署,跨文件系统发送可显式启用 Runtime 临时链接或 NapCat Stream 分块上传。
|
|
4
|
+
|
|
5
|
+
- 新增 `[onebot].file_send_mode`(`local` / `url` / `stream`)与 `[onebot].file_send_host`,环境变量为 `ONEBOT_FILE_SEND_MODE` / `ONEBOT_FILE_SEND_HOST`,WebUI 配置表单提供三种模式的下拉选择。两项均支持热更新,每次逻辑投递开始时取得独立快照,排队中与进行中的投递保持旧值。默认 `local`,旧配置及未显式指定模式的环境保持原有发送行为,`url` 和 `stream` 必须显式启用;`file_send_host` 仅用于 URL 模式,接受 IPv4、IPv6 或域名。
|
|
6
|
+
- QQ 本地图片、语音、视频、文件与嵌套合并转发中的媒体统一经过新传输层,覆盖 CQ 字符串与消息段数组,文件消息段缺少 `name` 时自动补全文件名;已有 HTTP/HTTPS URL、Base64 和协议端资源标识原样通过,展示文件名、附件 UID 与历史来源保持不变。
|
|
7
|
+
- `url` 模式复用 Runtime HTTP 监听,将本地文件复制为独立临时副本,新增 `GET` / `HEAD` `/api/v1/onebot/files/{file_id}?token=...` 路由:每个文件独立随机令牌、有效期 16 分钟、支持 Range 与重复读取;令牌只授权该文件,不能替代 `X-Undefined-API-Key` 调用其他 Runtime 接口;访问日志不记录查询串,正常停止清理本实例缓存,启动只回收本模块命名且已过期的遗留副本。删除源文件或切换发送模式不会提前使有效链接失效。
|
|
8
|
+
- `stream` 模式通过既有 OneBot WebSocket 按 64 KiB 分块上传并逐块等待确认,完成后独立请求并校验协议端路径、大小与 SHA-256;同一 Bot 的 Stream 文件投递串行,纯文本不等待上传锁;失败只重置未完成的 Stream,不调用清空临时目录的接口;不支持零字节文件。协议端不支持扩展时明确报错并提示改用 `local` 或 `url`,不会静默回退。
|
|
9
|
+
- 文件准备、实际发送与明确失败后的文件消息段回退共用 8 分钟预算,排队不计时;文件准备失败不计作已发送、不触发回退,也不会自动切换模式或重试上传。投递已发出但等待超时、被取消或连接中断时按结果未确认处理,禁止自动重发;`send_forward_msg` / `send_private_forward_msg` 纳入防重投递动作。
|
|
10
|
+
- 文件上传失败的回退收敛到统一调用入口:仅协议端明确拒绝时才改用文件消息段,且回退请求同样经过传输层准备;`FileTransferError` 不再被私聊与群临时会话回退、附件派发和 Bilibili 发送链路吞掉,消息类工具把包含模式与阶段的可展示说明直接反馈给模型。
|
|
11
|
+
- 加固日志与连接脱敏。WebSocket 客户端不再输出未经脱敏的 DEBUG 握手与原始帧,连接错误与 API 失败信息经脱敏后记录,新增 `chunk_data` 脱敏规则并修复脱敏替换未正确回填捕获组的问题;无法解析的消息只记录长度,接收循环停止时统一让挂起的请求失败退出,不再悬挂。
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
1
15
|
## v3.13.3 回复精简、群活跃度统计与图片预览修复
|
|
2
16
|
|
|
3
17
|
本版本减少对话中的重复解释,明确群成员活跃度统计的含义与数据范围,并修复 Chat 图片预览的键盘和焦点交互。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: Undefined-bot
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.14.0
|
|
4
4
|
Summary: QQ bot platform with cognitive memory architecture and multi-agent Skills, via OneBot V11.
|
|
5
5
|
Project-URL: Repository, https://github.com/69gg/Undefined
|
|
6
6
|
Project-URL: Issues, https://github.com/69gg/Undefined/issues
|
|
@@ -73,6 +73,13 @@ ws_url = "ws://127.0.0.1:3001"
|
|
|
73
73
|
# en: Access token (optional).
|
|
74
74
|
token = ""
|
|
75
75
|
|
|
76
|
+
# zh: 本地文件发送方式:local(共享路径,默认,兼容旧部署)/ url(Runtime 临时链接)/ stream(NapCat Stream API)。支持热更新。
|
|
77
|
+
# en: Local file transport: local (shared paths, default for compatibility), url (temporary Runtime links), or stream (NapCat Stream API). Hot reload supported.
|
|
78
|
+
file_send_mode = "local"
|
|
79
|
+
# zh: 仅 URL 模式使用:OneBot 可访问的 Runtime 主机地址,支持 IPv4、IPv6 或域名,不包含协议、端口或路径;端口使用 Runtime 实际监听端口。
|
|
80
|
+
# en: URL mode only: Runtime host reachable by OneBot, as IPv4, IPv6 or a domain without scheme, port or path. Uses the actual Runtime listening port.
|
|
81
|
+
file_send_host = "127.0.0.1"
|
|
82
|
+
|
|
76
83
|
[models]
|
|
77
84
|
# zh: 对话模型配置(主模型,处理每一条消息)。
|
|
78
85
|
# en: Chat model config (the main model, processing each message).
|
|
@@ -24,7 +24,7 @@ if TYPE_CHECKING:
|
|
|
24
24
|
from .skills.registry import BaseRegistry as BaseRegistry
|
|
25
25
|
from .skills.tools import ToolRegistry as ToolRegistry
|
|
26
26
|
|
|
27
|
-
__version__: str = "3.
|
|
27
|
+
__version__: str = "3.14.0"
|
|
28
28
|
|
|
29
29
|
# symbol -> (module_path, attribute_name);首次访问时才 importlib 加载
|
|
30
30
|
_LAZY_IMPORTS: dict[str, tuple[str, str]] = {
|
|
@@ -18,6 +18,38 @@ def _build_openapi_spec(ctx: RuntimeAPIContext, request: web.Request) -> dict[st
|
|
|
18
18
|
cfg = ctx.config_getter()
|
|
19
19
|
naga_routes_enabled = _naga_routes_enabled(cfg, ctx.naga_store)
|
|
20
20
|
paths: dict[str, Any] = {
|
|
21
|
+
"/api/v1/onebot/files/{file_id}": {
|
|
22
|
+
method: {
|
|
23
|
+
"summary": "Download a temporary OneBot file"
|
|
24
|
+
if method == "get"
|
|
25
|
+
else "Inspect a temporary OneBot file",
|
|
26
|
+
"description": "Process-internal registration only. A token authorizes one file for 16 minutes. Supports Range and repeated reads; does not authorize other Runtime APIs.",
|
|
27
|
+
"security": [{"OneBotFileToken": []}],
|
|
28
|
+
"parameters": [
|
|
29
|
+
{
|
|
30
|
+
"name": "file_id",
|
|
31
|
+
"in": "path",
|
|
32
|
+
"required": True,
|
|
33
|
+
"schema": {"type": "string"},
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"responses": {
|
|
37
|
+
"200": {
|
|
38
|
+
"description": "File",
|
|
39
|
+
"content": {
|
|
40
|
+
"application/octet-stream": {
|
|
41
|
+
"schema": {"type": "string", "format": "binary"}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
"206": {"description": "Partial file"},
|
|
46
|
+
"401": {"description": "Missing or invalid file token"},
|
|
47
|
+
"404": {"description": "File missing or expired"},
|
|
48
|
+
"416": {"description": "Invalid byte range"},
|
|
49
|
+
},
|
|
50
|
+
}
|
|
51
|
+
for method in ("get", "head")
|
|
52
|
+
},
|
|
21
53
|
"/health": {
|
|
22
54
|
"get": {
|
|
23
55
|
"summary": "Health check",
|
|
@@ -323,6 +355,7 @@ def _build_openapi_spec(ctx: RuntimeAPIContext, request: web.Request) -> dict[st
|
|
|
323
355
|
],
|
|
324
356
|
"components": {
|
|
325
357
|
"securitySchemes": {
|
|
358
|
+
"OneBotFileToken": {"type": "apiKey", "in": "query", "name": "token"},
|
|
326
359
|
"ApiKeyAuth": {
|
|
327
360
|
"type": "apiKey",
|
|
328
361
|
"in": "header",
|
|
@@ -15,6 +15,10 @@ from typing import Any, Awaitable, Callable
|
|
|
15
15
|
from aiohttp import web
|
|
16
16
|
from aiohttp.web_response import Response
|
|
17
17
|
|
|
18
|
+
from Undefined.onebot.file_store import FILE_ROUTE, FILE_ROUTE_NAME, OneBotFileStore
|
|
19
|
+
from Undefined.onebot.file_transport import OneBotFileTransport
|
|
20
|
+
from .routes import onebot_files
|
|
21
|
+
|
|
18
22
|
from ._context import RuntimeAPIContext
|
|
19
23
|
from ._helpers import (
|
|
20
24
|
_apply_cors_headers,
|
|
@@ -47,6 +51,8 @@ class RuntimeAPIServer:
|
|
|
47
51
|
context: RuntimeAPIContext,
|
|
48
52
|
host: str,
|
|
49
53
|
port: int,
|
|
54
|
+
*,
|
|
55
|
+
file_store: OneBotFileStore | None = None,
|
|
50
56
|
) -> None:
|
|
51
57
|
self._context = context
|
|
52
58
|
self._host = host
|
|
@@ -56,21 +62,41 @@ class RuntimeAPIServer:
|
|
|
56
62
|
self._background_tasks: set[asyncio.Task[Any]] = set()
|
|
57
63
|
self._naga_state = NagaState()
|
|
58
64
|
self._chat_job_manager = chat.ChatJobManager(context)
|
|
65
|
+
transport = getattr(context.onebot, "file_transport", None)
|
|
66
|
+
self._file_store = (
|
|
67
|
+
file_store
|
|
68
|
+
if file_store is not None
|
|
69
|
+
else (
|
|
70
|
+
transport.store if isinstance(transport, OneBotFileTransport) else None
|
|
71
|
+
)
|
|
72
|
+
)
|
|
59
73
|
|
|
60
74
|
async def start(self) -> None:
|
|
61
75
|
from Undefined.config.models import resolve_bind_hosts
|
|
62
76
|
|
|
63
77
|
app = self._create_app()
|
|
64
|
-
self._runner = web.AppRunner(
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
await
|
|
69
|
-
self.
|
|
78
|
+
self._runner = web.AppRunner(
|
|
79
|
+
app, access_log_class=onebot_files.FileAccessLogger
|
|
80
|
+
)
|
|
81
|
+
try:
|
|
82
|
+
await self._runner.setup()
|
|
83
|
+
port = self._port
|
|
84
|
+
for h in resolve_bind_hosts(self._host):
|
|
85
|
+
site = web.TCPSite(self._runner, host=h, port=port)
|
|
86
|
+
await site.start()
|
|
87
|
+
self._sites.append(site)
|
|
88
|
+
port = int(self._runner.addresses[0][1])
|
|
89
|
+
if self._file_store is not None:
|
|
90
|
+
await self._file_store.start(port)
|
|
91
|
+
except BaseException:
|
|
92
|
+
await self.stop()
|
|
93
|
+
raise
|
|
70
94
|
cfg = self._context.config_getter()
|
|
71
95
|
logger.info("[RuntimeAPI] 已启动: %s", cfg.api.display_url)
|
|
72
96
|
|
|
73
97
|
async def stop(self) -> None:
|
|
98
|
+
if self._file_store is not None:
|
|
99
|
+
self._file_store.unavailable()
|
|
74
100
|
await self._chat_job_manager.stop()
|
|
75
101
|
|
|
76
102
|
for task in self._background_tasks:
|
|
@@ -83,7 +109,12 @@ class RuntimeAPIServer:
|
|
|
83
109
|
await self._runner.cleanup()
|
|
84
110
|
logger.info("[RuntimeAPI] 已停止")
|
|
85
111
|
self._runner = None
|
|
86
|
-
self.
|
|
112
|
+
self._sites.clear()
|
|
113
|
+
if self._file_store is not None:
|
|
114
|
+
await self._file_store.stop()
|
|
115
|
+
|
|
116
|
+
async def _onebot_file_handler(self, request: web.Request) -> web.StreamResponse:
|
|
117
|
+
return await onebot_files.download(request, self._file_store)
|
|
87
118
|
|
|
88
119
|
def _create_app(self) -> web.Application:
|
|
89
120
|
@web.middleware
|
|
@@ -99,7 +130,9 @@ class RuntimeAPIServer:
|
|
|
99
130
|
if request.path.startswith("/api/"):
|
|
100
131
|
cfg = self._context.config_getter()
|
|
101
132
|
is_naga_path = request.path.startswith("/api/v1/naga/")
|
|
102
|
-
skip_auth =
|
|
133
|
+
skip_auth = (
|
|
134
|
+
is_naga_path and _naga_runtime_enabled(cfg)
|
|
135
|
+
) or onebot_files.is_file_request(request)
|
|
103
136
|
if not skip_auth:
|
|
104
137
|
expected = str(cfg.api.auth_key or "")
|
|
105
138
|
provided = request.headers.get(_AUTH_HEADER, "")
|
|
@@ -117,6 +150,7 @@ class RuntimeAPIServer:
|
|
|
117
150
|
[
|
|
118
151
|
web.get("/health", self._health_handler),
|
|
119
152
|
web.get("/openapi.json", self._openapi_handler),
|
|
153
|
+
web.get(FILE_ROUTE, self._onebot_file_handler, name=FILE_ROUTE_NAME),
|
|
120
154
|
web.get("/api/v1/probes/internal", self._internal_probe_handler),
|
|
121
155
|
web.get("/api/v1/probes/external", self._external_probe_handler),
|
|
122
156
|
web.get("/api/v1/memory", self._memory_handler),
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"""使用独立单文件令牌的 Runtime 下载路由。"""
|
|
2
|
+
|
|
3
|
+
from urllib.parse import quote
|
|
4
|
+
|
|
5
|
+
from aiohttp import web
|
|
6
|
+
from aiohttp.web_log import AccessLogger
|
|
7
|
+
|
|
8
|
+
from Undefined.onebot.file_store import (
|
|
9
|
+
FILE_ROUTE_NAME,
|
|
10
|
+
FileAuthorizationError,
|
|
11
|
+
OneBotFileStore,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class FileAccessLogger(AccessLogger):
|
|
16
|
+
"""保留普通访问日志格式,专用文件路由只记录不带查询串的路径。"""
|
|
17
|
+
|
|
18
|
+
def log(
|
|
19
|
+
self, request: web.BaseRequest, response: web.StreamResponse, time: float
|
|
20
|
+
) -> None:
|
|
21
|
+
if request.path.startswith("/api/v1/onebot/files/") or "token" in request.query:
|
|
22
|
+
self.logger.info(
|
|
23
|
+
"%s %s status=%d elapsed=%.3fs",
|
|
24
|
+
request.method,
|
|
25
|
+
request.path,
|
|
26
|
+
response.status,
|
|
27
|
+
time,
|
|
28
|
+
)
|
|
29
|
+
else:
|
|
30
|
+
super().log(request, response, time)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def is_file_request(request: web.Request) -> bool:
|
|
34
|
+
return request.match_info.route.name == FILE_ROUTE_NAME and request.method in {
|
|
35
|
+
"GET",
|
|
36
|
+
"HEAD",
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
async def download(
|
|
41
|
+
request: web.Request, store: OneBotFileStore | None
|
|
42
|
+
) -> web.StreamResponse:
|
|
43
|
+
if store is None:
|
|
44
|
+
return web.Response(status=404)
|
|
45
|
+
try:
|
|
46
|
+
async with store.acquire(
|
|
47
|
+
request.match_info["file_id"], request.query.get("token", "")
|
|
48
|
+
) as entry:
|
|
49
|
+
response = web.FileResponse(
|
|
50
|
+
entry.path,
|
|
51
|
+
headers={
|
|
52
|
+
"Content-Type": entry.content_type,
|
|
53
|
+
"Content-Disposition": f"attachment; filename*=UTF-8''{quote(entry.name, safe='')}",
|
|
54
|
+
"Cache-Control": "private, no-store",
|
|
55
|
+
"Referrer-Policy": "no-referrer",
|
|
56
|
+
"X-Content-Type-Options": "nosniff",
|
|
57
|
+
},
|
|
58
|
+
)
|
|
59
|
+
# FileResponse 在 prepare 中发送文件,不能在仅构造响应后释放读者租约。
|
|
60
|
+
await response.prepare(request)
|
|
61
|
+
await response.write_eof()
|
|
62
|
+
return response
|
|
63
|
+
except FileAuthorizationError as exc:
|
|
64
|
+
return web.Response(status=exc.status)
|
|
@@ -301,6 +301,10 @@ async def dispatch_pending_file_sends(
|
|
|
301
301
|
continue
|
|
302
302
|
dispatched_count += 1
|
|
303
303
|
except Exception as exc:
|
|
304
|
+
if bool(getattr(exc, "file_transfer_error", False)):
|
|
305
|
+
# 携带失败前已成功派发数量,供调用方按部分成功处理,避免整批重发。
|
|
306
|
+
setattr(exc, "dispatched_file_count", dispatched_count)
|
|
307
|
+
raise
|
|
304
308
|
if bool(getattr(exc, "delivery_uncertain", False)):
|
|
305
309
|
logger.warning(
|
|
306
310
|
"[文件发送] 投递结果未确认,停止继续派发以避免重复发送 "
|
|
@@ -398,6 +398,10 @@ async def send_bilibili_video(
|
|
|
398
398
|
|
|
399
399
|
except Exception as exc:
|
|
400
400
|
logger.exception("[Bilibili] 处理视频失败: %s", bvid)
|
|
401
|
+
if getattr(exc, "delivery_uncertain", False) or getattr(
|
|
402
|
+
exc, "file_transfer_error", False
|
|
403
|
+
):
|
|
404
|
+
raise
|
|
401
405
|
try:
|
|
402
406
|
if video_info is None:
|
|
403
407
|
video_info = await get_video_info(bvid, cookie=cookie)
|
|
@@ -30,6 +30,7 @@ from .models import (
|
|
|
30
30
|
WeixinConfig,
|
|
31
31
|
)
|
|
32
32
|
from .toml_io import _load_env, load_toml_data
|
|
33
|
+
from .onebot import FileSendMode
|
|
33
34
|
|
|
34
35
|
|
|
35
36
|
@dataclass
|
|
@@ -65,6 +66,8 @@ class Config:
|
|
|
65
66
|
nagaagent_mode_enabled: bool
|
|
66
67
|
onebot_ws_url: str
|
|
67
68
|
onebot_token: str
|
|
69
|
+
onebot_file_send_mode: FileSendMode
|
|
70
|
+
onebot_file_send_host: str
|
|
68
71
|
chat_model: ChatModelConfig
|
|
69
72
|
vision_model: VisionModelConfig
|
|
70
73
|
security_model_enabled: bool
|
|
@@ -128,6 +128,8 @@ ENV_REGISTRY: Final[dict[tuple[str, ...], str]] = {
|
|
|
128
128
|
("messages", "use_proxy"): "MESSAGES_USE_PROXY",
|
|
129
129
|
("naga", "use_proxy"): "NAGA_USE_PROXY",
|
|
130
130
|
("onebot", "token"): "ONEBOT_TOKEN",
|
|
131
|
+
("onebot", "file_send_mode"): "ONEBOT_FILE_SEND_MODE",
|
|
132
|
+
("onebot", "file_send_host"): "ONEBOT_FILE_SEND_HOST",
|
|
131
133
|
("onebot", "ws_url"): "ONEBOT_WS_URL",
|
|
132
134
|
("render", "browser_executable_path"): "RENDER_BROWSER_EXECUTABLE_PATH",
|
|
133
135
|
("render", "long_image_default_padding"): "RENDER_LONG_IMAGE_DEFAULT_PADDING",
|
|
@@ -16,6 +16,8 @@ from ..coercers import (
|
|
|
16
16
|
_get_value,
|
|
17
17
|
)
|
|
18
18
|
|
|
19
|
+
from ..onebot import parse_file_send_host, parse_file_send_mode
|
|
20
|
+
|
|
19
21
|
logger = logging.getLogger(__name__)
|
|
20
22
|
|
|
21
23
|
|
|
@@ -180,4 +182,10 @@ def load_core(
|
|
|
180
182
|
"nagaagent_mode_enabled": nagaagent_mode_enabled,
|
|
181
183
|
"onebot_ws_url": onebot_ws_url,
|
|
182
184
|
"onebot_token": onebot_token,
|
|
185
|
+
"onebot_file_send_mode": parse_file_send_mode(
|
|
186
|
+
_get_value(data, ("onebot", "file_send_mode"), "ONEBOT_FILE_SEND_MODE")
|
|
187
|
+
),
|
|
188
|
+
"onebot_file_send_host": parse_file_send_host(
|
|
189
|
+
_get_value(data, ("onebot", "file_send_host"), "ONEBOT_FILE_SEND_HOST")
|
|
190
|
+
),
|
|
183
191
|
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"""OneBot 本地文件传输配置与单次投递快照。"""
|
|
2
|
+
|
|
3
|
+
from dataclasses import dataclass
|
|
4
|
+
from ipaddress import ip_address
|
|
5
|
+
import re
|
|
6
|
+
from typing import Any, Literal, cast
|
|
7
|
+
|
|
8
|
+
FileSendMode = Literal["local", "url", "stream"]
|
|
9
|
+
DEFAULT_FILE_SEND_MODE: FileSendMode = "local"
|
|
10
|
+
DEFAULT_FILE_SEND_HOST = "127.0.0.1"
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def parse_file_send_mode(value: Any) -> FileSendMode:
|
|
14
|
+
mode = (
|
|
15
|
+
str(value if value is not None else "").strip().lower()
|
|
16
|
+
or DEFAULT_FILE_SEND_MODE
|
|
17
|
+
)
|
|
18
|
+
if mode not in {"local", "url", "stream"}:
|
|
19
|
+
raise ValueError("onebot.file_send_mode 必须为 local、url 或 stream")
|
|
20
|
+
return cast(FileSendMode, mode)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def parse_file_send_host(value: Any) -> str:
|
|
24
|
+
host = str(value or "").strip() or DEFAULT_FILE_SEND_HOST
|
|
25
|
+
if any(char in host for char in "/\\?#@%") or any(char.isspace() for char in host):
|
|
26
|
+
raise ValueError(
|
|
27
|
+
"onebot.file_send_host 必须为不带协议、端口、路径或作用域标识的主机地址"
|
|
28
|
+
)
|
|
29
|
+
if host.startswith("[") and host.endswith("]") and ":" in host:
|
|
30
|
+
host = host[1:-1]
|
|
31
|
+
try:
|
|
32
|
+
return str(ip_address(host))
|
|
33
|
+
except ValueError:
|
|
34
|
+
pass
|
|
35
|
+
try:
|
|
36
|
+
ascii_host = host.rstrip(".").encode("idna").decode("ascii")
|
|
37
|
+
except UnicodeError:
|
|
38
|
+
ascii_host = ""
|
|
39
|
+
if (
|
|
40
|
+
not ascii_host
|
|
41
|
+
or len(ascii_host) > 253
|
|
42
|
+
or any(
|
|
43
|
+
not re.fullmatch(r"[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?", label)
|
|
44
|
+
for label in ascii_host.split(".")
|
|
45
|
+
)
|
|
46
|
+
):
|
|
47
|
+
raise ValueError(
|
|
48
|
+
"onebot.file_send_host 必须为 IPv4、IPv6 或域名,不包含协议、端口或路径"
|
|
49
|
+
)
|
|
50
|
+
return ascii_host
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
@dataclass(frozen=True)
|
|
54
|
+
class FileSendSettings:
|
|
55
|
+
mode: FileSendMode = DEFAULT_FILE_SEND_MODE
|
|
56
|
+
host: str = DEFAULT_FILE_SEND_HOST
|
|
57
|
+
|
|
58
|
+
@classmethod
|
|
59
|
+
def from_config(cls, config: Any) -> "FileSendSettings":
|
|
60
|
+
return cls(
|
|
61
|
+
parse_file_send_mode(getattr(config, "onebot_file_send_mode", None)),
|
|
62
|
+
parse_file_send_host(getattr(config, "onebot_file_send_host", None)),
|
|
63
|
+
)
|
|
@@ -183,7 +183,11 @@ async def main() -> None:
|
|
|
183
183
|
_reranker: Any = None
|
|
184
184
|
try:
|
|
185
185
|
init_start = time.perf_counter()
|
|
186
|
-
onebot = OneBotClient(
|
|
186
|
+
onebot = OneBotClient(
|
|
187
|
+
config.onebot_ws_url,
|
|
188
|
+
config.onebot_token,
|
|
189
|
+
config_getter=lambda: get_config(strict=False),
|
|
190
|
+
)
|
|
187
191
|
memory_storage = MemoryStorage(max_memories=100)
|
|
188
192
|
end_summary_storage = EndSummaryStorage()
|
|
189
193
|
ai = AIClient(
|