Undefined-bot 3.15.0__tar.gz → 3.16.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.15.0 → undefined_bot-3.16.0}/CHANGELOG.md +15 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/PKG-INFO +1 -1
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/config.toml.example +12 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/pyproject.toml +2 -2
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/__init__.py +1 -1
- undefined_bot-3.16.0/src/Undefined/bilibili/__init__.py +22 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/bilibili/api_client.py +110 -1
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/bilibili/downloader.py +17 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/bilibili/errors.py +4 -0
- undefined_bot-3.16.0/src/Undefined/bilibili/format.py +76 -0
- undefined_bot-3.16.0/src/Undefined/bilibili/models.py +163 -0
- undefined_bot-3.16.0/src/Undefined/bilibili/opus_parser.py +192 -0
- undefined_bot-3.16.0/src/Undefined/bilibili/opus_render.py +823 -0
- undefined_bot-3.16.0/src/Undefined/bilibili/opus_sender.py +653 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/bilibili/sender.py +61 -24
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/config_class.py +5 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/load_sections/integrations.py +29 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/handlers/auto_extract.py +80 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/README.md +1 -1
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/README.md +2 -2
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/prompt.md +1 -0
- undefined_bot-3.16.0/src/Undefined/skills/pipelines/bilibili_opus/config.json +6 -0
- undefined_bot-3.16.0/src/Undefined/skills/pipelines/bilibili_opus/handler.py +55 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/pipelines/context.py +2 -0
- undefined_bot-3.16.0/src/Undefined/skills/tools/bilibili_opus/README.md +49 -0
- undefined_bot-3.16.0/src/Undefined/skills/tools/bilibili_opus/config.json +61 -0
- undefined_bot-3.16.0/src/Undefined/skills/tools/bilibili_opus/handler.py +184 -0
- undefined_bot-3.16.0/src/Undefined/skills/tools/douyin_video/callable.json +4 -0
- undefined_bot-3.15.0/src/Undefined/bilibili/__init__.py +0 -16
- undefined_bot-3.15.0/src/Undefined/bilibili/models.py +0 -66
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/.gitignore +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/ARCHITECTURE.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/LICENSE +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/config/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/config/mcp.json.example +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/img/undefined-9527.png +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/img/xlwy.jpg +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/IMPORTANT/each.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/prompts/agent_self_intro.txt +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/prompts/analyze_multimodal.txt +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/prompts/describe_image.txt +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/prompts/describe_meme_image.txt +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/prompts/generate_title.txt +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/prompts/historian_profile_merge.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/prompts/historian_rewrite.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/prompts/image_gen_moderation.txt +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/prompts/injection_detector.txt +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/prompts/injection_response_agent.txt +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/prompts/judge_meme_image.txt +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/prompts/merge_message_summaries.txt +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/prompts/merge_summaries.txt +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/prompts/message_summary.txt +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/prompts/naga_message_moderation.txt +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/prompts/stats_analysis.txt +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/prompts/summarize.txt +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/prompts/undefined.xml +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/res/prompts/undefined_nagaagent.xml +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/__main__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/client/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/client/ask_loop.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/client/queue.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/client/setup.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/crawl4ai_support.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/http.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/llm/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/llm/requester.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/llm/retry.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/llm/sanitize.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/llm/streaming.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/llm/thinking.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/llm/types.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/model_selector.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/multimodal/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/multimodal/analyzer.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/multimodal/constants.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/multimodal/detection.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/multimodal/parsing.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/parsing.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/prompts/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/prompts/builder.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/prompts/cognitive.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/prompts/constants.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/prompts/current_input.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/prompts/file_includes.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/prompts/system_context.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/prompts/system_info.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/queue_budget.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/retrieval.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/summaries.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/tokens.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/tool_search.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/tooling.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/transports/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/transports/anthropic_transport.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/transports/openai_transport.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/ai/transports/replay.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/_context.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/_helpers.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/_naga_state.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/_openapi.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/_probes.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/app.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/naga_store.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/routes/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/routes/automations.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/routes/chat.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/routes/cognitive.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/routes/commands.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/routes/health.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/routes/memes.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/routes/memory.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/routes/naga/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/routes/naga/auth.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/routes/naga/bind.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/routes/naga/send.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/routes/naga/unbind.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/routes/onebot_files.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/routes/schedules.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/routes/system.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/routes/tools.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/routes/weixin.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/api/webchat_store.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/arxiv/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/arxiv/client.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/arxiv/downloader.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/arxiv/models.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/arxiv/parser.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/arxiv/sender.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/attachments/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/attachments/forward_snapshot.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/attachments/models.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/attachments/registry.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/attachments/render.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/attachments/segments.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/automations/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/automations/address.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/automations/catalog.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/automations/clock.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/automations/constants.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/automations/engine.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/automations/extract.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/automations/logutil.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/automations/match.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/automations/mentions.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/automations/migrate.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/automations/runner.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/automations/service.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/automations/short.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/automations/storage.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/automations/template.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/automations/triggers.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/automations/validate.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/bilibili/danmaku.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/bilibili/download_core.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/bilibili/parser.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/bilibili/wbi.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/bilibili/wbi_request.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/changelog.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/cognitive/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/cognitive/chroma_scheduler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/cognitive/historian/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/cognitive/historian/helpers.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/cognitive/historian/tools.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/cognitive/historian/worker.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/cognitive/job_queue.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/cognitive/profile_storage.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/cognitive/service/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/cognitive/service/helpers.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/cognitive/service/service.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/cognitive/vector_store.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/cognitive/vector_store_compat.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/admin.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/api_modes.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/build_config.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/coercers.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/domain_parsers.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/env_registry.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/hot_reload.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/load_sections/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/load_sections/access.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/load_sections/core.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/load_sections/domains.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/load_sections/finalize.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/load_sections/history_skills.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/load_sections/knowledge.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/load_sections/logging_tools.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/load_sections/models.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/load_sections/network.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/loader.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/manager.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/model_parsers.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/models.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/naga_policy.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/onebot.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/parsers/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/parsers/agent.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/parsers/chat.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/parsers/embedding.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/parsers/grok.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/parsers/helpers.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/parsers/historian.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/parsers/image.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/parsers/naga.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/parsers/pool.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/parsers/security.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/parsers/summary.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/parsers/vision.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/resolvers.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/search.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/toml_io.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/config/webui_settings.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/context.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/context_resource_registry.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/douyin/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/douyin/client.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/douyin/downloader.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/douyin/models.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/douyin/parser.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/douyin/sender.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/end_summary_storage.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/faq.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/github/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/github/client.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/github/models.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/github/parser.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/github/sender.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/handlers/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/handlers/message_flow.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/handlers/poke.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/handlers/repeat.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/injection_response_agent.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/knowledge/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/knowledge/chunker.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/knowledge/embedder.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/knowledge/manager.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/knowledge/reranker.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/knowledge/runtime.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/knowledge/store.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/main.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/mcp/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/mcp/registry.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/memes/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/memes/_image_utils.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/memes/ingest.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/memes/models.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/memes/search.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/memes/service.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/memes/store.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/memes/vector_store.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/memes/worker.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/memory.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/onebot/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/onebot/client.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/onebot/file_errors.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/onebot/file_references.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/onebot/file_store.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/onebot/file_transport.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/onebot/message.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/py.typed +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/rate_limit.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/render.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/bugfix_command.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/command.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/commands/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/commands/catalog.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/commands/context.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/commands/registry.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/coordinator/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/coordinator/background.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/coordinator/batching.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/coordinator/group.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/coordinator/message_ids.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/coordinator/private.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/message_batcher/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/message_batcher/scheduler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/message_batcher/state.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/message_summary_fetch.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/model_pool.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/queue_manager.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/security.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/services/stats_command.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/agent_tool_registry.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/docker_utils.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/intro.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/mcp.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/prompt.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/end/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/end/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/read/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/read/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/write/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/code_delivery_agent/tools/write/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/entertainment_agent/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/entertainment_agent/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/entertainment_agent/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/entertainment_agent/intro.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/entertainment_agent/prompt.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/entertainment_agent/tools/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/intro.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/describe_pdf_page/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/describe_pdf_page/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/intro.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/prompt.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/baiduhot/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/baiduhot/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/base64/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/base64/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/douyinhot/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/douyinhot/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/gold_price/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/gold_price/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/hash/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/hash/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/history/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/history/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/net_check/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/net_check/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/speed/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/speed/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/tcping/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/tcping/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/weather_query/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/weather_query/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/weibohot/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/weibohot/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/whois/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/info_agent/tools/whois/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/intro_generator.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/intro_utils.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/naga_code_analysis_agent/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/naga_code_analysis_agent/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/naga_code_analysis_agent/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/naga_code_analysis_agent/intro.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/naga_code_analysis_agent/mcp.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/naga_code_analysis_agent/prompt.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/runner/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/runner/context.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/runner/loop.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/runner/tools.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/runner/webchat_utils.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/summary_agent/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/summary_agent/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/summary_agent/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/summary_agent/intro.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/summary_agent/prompt.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/summary_agent/tools/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/undefined_self_code_agent/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/undefined_self_code_agent/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/undefined_self_code_agent/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/undefined_self_code_agent/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/undefined_self_code_agent/intro.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/undefined_self_code_agent/prompt.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/_shared.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/glob/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/glob/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/list_directory/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/list_directory/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/read_file/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/read_file/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/search_file_content/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/undefined_self_code_agent/tools/search_file_content/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/web_agent/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/web_agent/callable.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/web_agent/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/web_agent/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/web_agent/intro.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/web_agent/mcp.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/web_agent/prompt.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/web_agent/tools/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/web_agent/tools/firecrawl_search/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/web_agent/tools/firecrawl_search/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/web_agent/tools/grok_search/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/web_agent/tools/grok_search/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/web_agent/tools/web_search/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/agents/web_agent/tools/web_search/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/anthropic_skills/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/anthropic_skills/loader.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/admin/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/admin/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/admin/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/bugfix/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/bugfix/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/bugfix/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/changelog/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/changelog/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/changelog/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/copyright/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/copyright/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/copyright/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/faq/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/faq/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/faq/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/feedback/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/feedback/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/feedback/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/help/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/help/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/help/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/naga/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/naga/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/naga/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/naga/policy.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/profile/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/profile/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/profile/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/stats/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/stats/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/stats/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/summary/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/summary/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/summary/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/version/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/version/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/commands/version/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/http_client.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/http_config.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/pipelines/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/pipelines/arxiv/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/pipelines/arxiv/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/pipelines/bilibili/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/pipelines/bilibili/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/pipelines/douyin/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/pipelines/douyin/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/pipelines/github/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/pipelines/github/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/pipelines/models.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/pipelines/registry.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/registry.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/shared.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/arxiv_paper/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/arxiv_paper/callable.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/arxiv_paper/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/arxiv_paper/handler.py +0 -0
- {undefined_bot-3.15.0/src/Undefined/skills/tools/bilibili_video → undefined_bot-3.16.0/src/Undefined/skills/tools/bilibili_opus}/callable.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/bilibili_video/README.md +0 -0
- {undefined_bot-3.15.0/src/Undefined/skills/tools/douyin_video → undefined_bot-3.16.0/src/Undefined/skills/tools/bilibili_video}/callable.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/bilibili_video/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/bilibili_video/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/calculator/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/calculator/callable.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/calculator/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/calculator/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/changelog_query/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/changelog_query/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/changelog_query/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/douyin_video/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/douyin_video/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/douyin_video/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/end/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/end/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/end/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/fetch_image_uid/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/fetch_image_uid/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/fetch_image_uid/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/get_current_time/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/get_current_time/callable.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/get_current_time/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/get_current_time/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/get_picture/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/get_picture/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/get_picture/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/get_user_info/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/get_user_info/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/get_user_info/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/knowledge_list/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/knowledge_list/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/knowledge_list/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/knowledge_semantic_search/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/knowledge_semantic_search/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/knowledge_semantic_search/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/knowledge_text_search/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/knowledge_text_search/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/knowledge_text_search/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/python_interpreter/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/python_interpreter/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/python_interpreter/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/qq_like/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/qq_like/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/qq_like/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/task_progress/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/task_progress/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/tools/task_progress/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/attachments/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/automation/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/automation/_runtime.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/automation/create/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/automation/create/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/automation/delete/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/automation/delete/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/automation/get/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/automation/get/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/automation/list/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/automation/list/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/automation/set_enabled/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/automation/set_enabled/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/automation/update/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/automation/update/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/cognitive/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/cognitive/get_profile/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/cognitive/get_profile/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/cognitive/search_events/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/cognitive/search_events/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/cognitive/search_profiles/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/cognitive/search_profiles/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/commands/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/commands/get/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/commands/get/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/commands/search/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/commands/search/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/contacts/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/contacts/query_friends/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/contacts/query_friends/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/contacts/query_groups/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/contacts/query_groups/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group/find_member/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group/find_member/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group/get_avatar/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group/get_avatar/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group/get_files/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group/get_files/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group/get_honor_info/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group/get_honor_info/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group/get_member_info/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group/get_member_info/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group/get_member_list/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group/get_member_list/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group/get_member_title/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group/get_member_title/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/activity_trend/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/activity_trend/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/filter_members/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/filter_members/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/join_statistics/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/join_statistics/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/level_distribution/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/level_distribution/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/member_activity/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/member_activity/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/member_messages/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/member_messages/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/member_structure/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/member_structure/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/message_mix/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/message_mix/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/rank_members/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/group_analysis/rank_members/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/mcp/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/mcp/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/memes/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/memes/search_memes/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/memes/search_memes/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/memory/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/memory/add/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/memory/add/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/memory/delete/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/memory/delete/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/memory/list/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/memory/list/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/memory/update/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/memory/update/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/context_utils.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/get_forward_msg/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/get_forward_msg/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/get_messages_by_time/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/get_messages_by_time/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/get_recent_messages/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/get_recent_messages/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/list_emojis/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/list_emojis/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/react_message_emoji/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/react_message_emoji/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/send_group_sign/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/send_group_sign/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/send_message/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/send_message/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/send_poke/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/send_poke/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/send_private_message/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/send_private_message/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/send_text_file/callable.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/send_text_file/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/send_text_file/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/send_url_file/callable.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/send_url_file/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/send_url_file/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/send_voice/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/messages/send_voice/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/_client.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/_constants.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/_tools.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/_track_refs.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/browse_playlists/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/browse_playlists/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/browse_rankings/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/browse_rankings/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/find_song_matches/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/find_song_matches/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/get_audio/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/get_audio/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/get_comments/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/get_comments/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/get_cover/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/get_cover/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/get_hot_search/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/get_hot_search/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/get_lyrics/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/get_lyrics/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/search_playlists/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/search_playlists/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/search_songs/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/music/search_songs/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/notices/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/notices/get/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/notices/get/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/notices/list/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/notices/list/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/notices/stats/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/notices/stats/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/render/README.md +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/render/layout.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/render/render_html/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/render/render_html/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/render/render_latex/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/render/render_latex/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/render/render_markdown/config.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/skills/toolsets/render/render_markdown/handler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/token_usage_storage.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/cache.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/coerce.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/common.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/cors.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/easter_egg_calls.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/fake_at.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/file_lock.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/group_metrics.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/history.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/http_download.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/io.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/logging.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/member_utils.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/message_reply.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/message_targets.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/message_turn.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/message_utils.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/paths.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/qq_emoji.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/queue_intervals.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/recent_messages.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/render_cache.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/request_params.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/resources.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/scheduler.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/self_update.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/sender.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/sender_helpers.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/time_utils.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/tool_calls.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/utils/xml.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/__main__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/app.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/core.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/routes/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/routes/_auth.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/routes/_bot.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/routes/_config.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/routes/_index.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/routes/_logs.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/routes/_memes.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/routes/_runtime.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/routes/_shared.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/routes/_system.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/routes/_weixin.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/css/.stylelintrc.json +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/css/app.css +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/css/base.css +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/css/components.css +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/css/highlight-github.min.css +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/css/landing.css +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/css/responsive.css +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/css/style.css +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/css/variables.css +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/css/workflow.css +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/favicon.svg +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/api.js +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/auth.js +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/bot.js +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/config-form.js +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/i18n.js +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/log-view.js +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/logs.js +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/main.js +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/memes.js +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/runtime.js +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/schedules.js +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/state.js +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/ui.js +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/vendor/highlight.min.js +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/vendor/highlightjs.LICENSE +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/vendor/marked.min.js +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/weixin.js +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/workflow-canvas.js +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/workflow-graph.js +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/static/js/workflow-inspector.js +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/templates/index.html +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/utils/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/utils/comment.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/utils/config_io.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/utils/config_sync.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/webui/utils/toml_render.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/weixin/__init__.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/weixin/audio.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/weixin/models.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/weixin/service.py +0 -0
- {undefined_bot-3.15.0 → undefined_bot-3.16.0}/src/Undefined/weixin/store.py +0 -0
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
## v3.16.0 Bilibili 图文(opus)提取
|
|
2
|
+
|
|
3
|
+
本版本为 B 站内容自动提取补齐图文(opus / 动态)类型,命中图文链接后发送一次合并转发:第一条是图文元数据、第二条起是正文,文字与图片按原顺序混排,正文超长自动分段;正文里的图文与视频卡片各自成为嵌套转发节点;新增的 `bilibili_opus` 工具还支持按字数区间或关键词读取正文。
|
|
4
|
+
|
|
5
|
+
- 新增 Bilibili 图文自动提取管线。命中 `bilibili.com/opus/<id>`、`m.bilibili.com/opus/<id>`、`t.bilibili.com/<id>`、`b23.tv` 短链,以及 QQ 小程序与 news 分享卡片中的跳转链接后自动发送合并转发;与视频管线互不干扰,同一条消息同时含 BV 号与图文链接时两条管线各自发送。
|
|
6
|
+
- 转发结构与视频一致:第一条节点是图文信息(封面、标题、UP主、时间、阅读 / 点赞 / 评论 / 转发、原文链接),第二条起是正文。正文按单节点 4000 字切分(节点名形如 `正文 1/3`),不截断、不丢内容,图片作为消息段保留在原文位置并可与文本共处同一节点;正文为空时以占位文案说明。
|
|
7
|
+
- 正文里的卡片各自展开为独立节点:图文卡片再拉取一次递归展开,视频卡片真实下载视频文件并复用清晰度、时长、体积与超限策略限制且附带弹幕,链接、商品、直播、投票等其它卡片渲染为单个链接卡片节点。展开受 `opus_nested_depth`(默认 5 层)与 `opus_nested_max_cards`(默认 8 张)约束,超出边界降级为一行「标题 — 链接」;嵌套失败只降级该节点,不影响整条转发。
|
|
8
|
+
- 图文详情兼容两个接口与两种响应结构:优先 `x/polymer/web-dynamic/v1/opus/detail`,风控(`-352`)、旧版专栏或动态不可见时回退 `x/polymer/web-dynamic/v1/detail`(带 WBI 签名)。`modules` 为列表或字典(含 `major.opus.summary` 摘要)都能解析,段落覆盖文本、图片、分割线、块引用、列表、代码与链接卡片,富文本节点覆盖 @、表情、公式、话题与 BV / CV / 网页链接;指向自身的图文卡片不再被当作嵌套卡片,避免自引用递归。
|
|
9
|
+
- 新增 `bilibili_opus` 工具,`output_mode` 与 `bilibili_video` 对齐并额外提供 text 模式:`send` 发送合并转发,`uid` 把正文图片逐张登记为 `<attachment uid="pic_xxx"/>`(默认最多 9 张,单张失败不中断并逐条报告原因),`info` 只返回元信息,`text` 按字数读取正文。该工具已暴露给 `file_analysis_agent`,图文图片可直接做多模态分析。
|
|
10
|
+
- `output_mode=text` 支持起始字、结束字与关键词:默认返回前 1000 字(`limit` 上限 20000),`keyword` 返回命中区间(最多 5 处)与前后各 60 字上下文并自动合并重叠片段。返回头给出正文总字数与本次范围,未读完时提示下一段用 `start=N` 继续;关键词未命中、正文为空、`start` 超出范围都有明确文案,非法参数返回可读错误而不是静默截断。
|
|
11
|
+
- 新增 `[bilibili].opus_enabled`(默认开启,仍需 `auto_extract_enabled`)、`opus_max_items`(单条消息最多处理几篇图文)、`opus_nested_depth`、`opus_nested_max_cards`;群聊与私聊白名单复用视频侧的 `auto_extract_group_ids` / `auto_extract_private_ids`,旧 `config.toml` 不做改动也可直接运行。
|
|
12
|
+
- 图文转发与视频转发同样写入历史:实时 AI 上下文只看到 `forward_...` UID,需要内容时按层调用 `messages.get_forward_msg` 读取,不会因为一张长图文把上下文撑爆。视频与图文的数字缩写、时长、时间戳与 4000 字切分逻辑共用同一份实现,视频原有的提取行为不变。
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
1
16
|
## v3.15.0 按功能拆分 Embedding 配置与稳定性修复
|
|
2
17
|
|
|
3
18
|
本版本将嵌入模型配置按功能拆分,知识库、认知记忆与表情包可以共用默认模型或各自覆写连接、维度与指令;同时修复侧写并发合并丢失更新、Agent 技能无法加载、热更新静默失效、SIGTERM 停机缺失等多处影响长期运行的问题。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: Undefined-bot
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.16.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
|
|
@@ -1473,6 +1473,18 @@ auto_extract_group_ids = []
|
|
|
1473
1473
|
# zh: 自动提取功能的私聊白名单(空=跟随全局 access.allowed_private_ids)。
|
|
1474
1474
|
# en: Private chat allowlist for auto-extraction (empty = follow global access.allowed_private_ids).
|
|
1475
1475
|
auto_extract_private_ids = []
|
|
1476
|
+
# zh: 是否在自动提取中处理 B 站图文(opus / 动态)链接。仍需 auto_extract_enabled 打开。
|
|
1477
|
+
# en: Whether Bilibili opus/dynamic links are handled during auto-extraction. auto_extract_enabled must also be on.
|
|
1478
|
+
opus_enabled = true
|
|
1479
|
+
# zh: 单条消息最多自动处理几篇图文。<=0 回退 3,>10 截断到 10。
|
|
1480
|
+
# en: Max number of opus posts to auto-process from one message. <=0 falls back to 3, >10 is capped to 10.
|
|
1481
|
+
opus_max_items = 3
|
|
1482
|
+
# zh: 图文正文里的图文/视频卡片最多再展开几层(每层都是嵌套合并转发)。0=不展开,只给链接;上限 5。
|
|
1483
|
+
# en: Max nesting depth for opus/video cards inside a post body (each level is a nested forward). 0=link only; capped at 5.
|
|
1484
|
+
opus_nested_depth = 5
|
|
1485
|
+
# zh: 单篇图文最多展开多少张嵌套卡片,超出部分降级为一行文本+链接。上限 20。
|
|
1486
|
+
# en: Max nested cards expanded per post; extras degrade to a single text line with the link. Capped at 20.
|
|
1487
|
+
opus_nested_max_cards = 8
|
|
1476
1488
|
|
|
1477
1489
|
# zh: 抖音视频自动提取配置。
|
|
1478
1490
|
# en: Douyin video auto-extraction settings.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "Undefined-bot"
|
|
3
|
-
version = "3.
|
|
3
|
+
version = "3.16.0"
|
|
4
4
|
description = "QQ bot platform with cognitive memory architecture and multi-agent Skills, via OneBot V11."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [
|
|
@@ -103,7 +103,7 @@ exclude = [
|
|
|
103
103
|
python_version = "3.12"
|
|
104
104
|
strict = true
|
|
105
105
|
ignore_missing_imports = true
|
|
106
|
-
exclude = ["^code/", "^apps/.*/src-tauri/target/"]
|
|
106
|
+
exclude = ["^code/", "^apps/.*/src-tauri/target/", "^data/cache/uv/"]
|
|
107
107
|
|
|
108
108
|
[tool.ruff]
|
|
109
109
|
exclude = ["code"]
|
|
@@ -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.16.0"
|
|
28
28
|
|
|
29
29
|
# symbol -> (module_path, attribute_name);首次访问时才 importlib 加载
|
|
30
30
|
_LAZY_IMPORTS: dict[str, tuple[str, str]] = {
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"""Bilibili 视频提取模块
|
|
2
|
+
|
|
3
|
+
提供 B 站视频标识符解析、视频下载和发送功能,以及图文(opus)解析。
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from Undefined.bilibili.opus_parser import (
|
|
7
|
+
extract_opus_from_json_message,
|
|
8
|
+
extract_opus_ids_with_shortlinks,
|
|
9
|
+
)
|
|
10
|
+
from Undefined.bilibili.parser import (
|
|
11
|
+
extract_bilibili_ids,
|
|
12
|
+
extract_from_json_message,
|
|
13
|
+
normalize_to_bvid,
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
__all__ = [
|
|
17
|
+
"extract_bilibili_ids",
|
|
18
|
+
"extract_from_json_message",
|
|
19
|
+
"extract_opus_from_json_message",
|
|
20
|
+
"extract_opus_ids_with_shortlinks",
|
|
21
|
+
"normalize_to_bvid",
|
|
22
|
+
]
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
import logging
|
|
5
6
|
from typing import Any
|
|
6
7
|
|
|
7
8
|
import httpx
|
|
8
9
|
|
|
9
|
-
from Undefined.bilibili.errors import ApiResponseError
|
|
10
|
+
from Undefined.bilibili.errors import ApiResponseError, OpusUnavailableError
|
|
10
11
|
from Undefined.bilibili.models import VideoInfo, VideoStats
|
|
11
12
|
from Undefined.bilibili.wbi import build_signed_params_sync, parse_cookie_string
|
|
12
13
|
from Undefined.skills.http_config import build_httpx_client_kwargs
|
|
@@ -15,6 +16,39 @@ _BILIBILI_API_VIEW = "https://api.bilibili.com/x/web-interface/view"
|
|
|
15
16
|
_BILIBILI_API_VIEW_WBI = "https://api.bilibili.com/x/web-interface/wbi/view"
|
|
16
17
|
_BILIBILI_API_PLAYURL = "https://api.bilibili.com/x/player/playurl"
|
|
17
18
|
_BILIBILI_API_PLAYURL_WBI = "https://api.bilibili.com/x/player/wbi/playurl"
|
|
19
|
+
_BILIBILI_API_OPUS_DETAIL = (
|
|
20
|
+
"https://api.bilibili.com/x/polymer/web-dynamic/v1/opus/detail"
|
|
21
|
+
)
|
|
22
|
+
_BILIBILI_API_DYNAMIC_DETAIL = (
|
|
23
|
+
"https://api.bilibili.com/x/polymer/web-dynamic/v1/detail"
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
# 图文详情接口的 features 参数;htmlNewStyle 用于让旧版专栏返回新版正文结构
|
|
27
|
+
OPUS_DETAIL_FEATURES: tuple[str, ...] = (
|
|
28
|
+
"onlyfansVote",
|
|
29
|
+
"onlyfansAssetsV2",
|
|
30
|
+
"decorationCard",
|
|
31
|
+
"htmlNewStyle",
|
|
32
|
+
"ugcDelete",
|
|
33
|
+
"editable",
|
|
34
|
+
"opusPrivateVisible",
|
|
35
|
+
"tribeeEdit",
|
|
36
|
+
"avatarAutoTheme",
|
|
37
|
+
"avatarTypeOpus",
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
# 通用动态详情接口的 features 参数;itemOpusStyle 让动态按图文风格返回
|
|
41
|
+
DYNAMIC_DETAIL_FEATURES: tuple[str, ...] = (
|
|
42
|
+
"itemOpusStyle",
|
|
43
|
+
"opusBigCover",
|
|
44
|
+
"onlyfansVote",
|
|
45
|
+
"endFooterHidden",
|
|
46
|
+
"decorationCard",
|
|
47
|
+
"onlyfansAssetsV2",
|
|
48
|
+
"ugcDelete",
|
|
49
|
+
"onlyfansQaCard",
|
|
50
|
+
"commentsNewVersion",
|
|
51
|
+
)
|
|
18
52
|
|
|
19
53
|
DEFAULT_HEADERS: dict[str, str] = {
|
|
20
54
|
"User-Agent": (
|
|
@@ -25,6 +59,8 @@ DEFAULT_HEADERS: dict[str, str] = {
|
|
|
25
59
|
"Referer": "https://www.bilibili.com",
|
|
26
60
|
}
|
|
27
61
|
|
|
62
|
+
logger = logging.getLogger(__name__)
|
|
63
|
+
|
|
28
64
|
|
|
29
65
|
def _api_message(data: dict[str, Any]) -> str:
|
|
30
66
|
return str(data.get("message") or data.get("msg") or "未知错误")
|
|
@@ -186,3 +222,76 @@ class BilibiliApiClient:
|
|
|
186
222
|
if not isinstance(data, dict):
|
|
187
223
|
raise ApiResponseError("播放流响应缺少 data")
|
|
188
224
|
return data
|
|
225
|
+
|
|
226
|
+
def get_opus_item(self, dynamic_id: str) -> dict[str, Any]:
|
|
227
|
+
"""获取图文 / 动态的 ``data.item`` 原始结构。
|
|
228
|
+
|
|
229
|
+
先请求 ``opus/detail``;失败(含 ``-352`` 风控、旧版专栏要求
|
|
230
|
+
``htmlNewStyle``、以及图文详情接口未覆盖的动态)时回退到通用
|
|
231
|
+
``web-dynamic/v1/detail``(带 WBI 签名)。
|
|
232
|
+
"""
|
|
233
|
+
opus_id = str(dynamic_id).strip()
|
|
234
|
+
if not opus_id:
|
|
235
|
+
raise OpusUnavailableError("图文 ID 为空")
|
|
236
|
+
|
|
237
|
+
primary_error: Exception | None = None
|
|
238
|
+
try:
|
|
239
|
+
payload = self._request_json(
|
|
240
|
+
_BILIBILI_API_OPUS_DETAIL,
|
|
241
|
+
{
|
|
242
|
+
"id": opus_id,
|
|
243
|
+
"features": ",".join(OPUS_DETAIL_FEATURES),
|
|
244
|
+
"timezone_offset": -480,
|
|
245
|
+
},
|
|
246
|
+
)
|
|
247
|
+
if int(payload.get("code", -1)) == 0:
|
|
248
|
+
return self._extract_opus_item(payload, opus_id)
|
|
249
|
+
primary_error = OpusUnavailableError(
|
|
250
|
+
f"获取图文信息失败: {_api_message(payload)}"
|
|
251
|
+
)
|
|
252
|
+
except OpusUnavailableError as exc:
|
|
253
|
+
primary_error = exc
|
|
254
|
+
except Exception as exc: # 网络 / JSON 异常都走回退
|
|
255
|
+
primary_error = exc
|
|
256
|
+
logger.debug("[Bilibili] opus/detail 请求异常,尝试通用动态接口: %s", exc)
|
|
257
|
+
|
|
258
|
+
fallback_error: Exception | None = None
|
|
259
|
+
try:
|
|
260
|
+
payload = self.request_with_wbi_fallback(
|
|
261
|
+
endpoint=_BILIBILI_API_DYNAMIC_DETAIL,
|
|
262
|
+
params={
|
|
263
|
+
"id": opus_id,
|
|
264
|
+
"features": ",".join(DYNAMIC_DETAIL_FEATURES),
|
|
265
|
+
"timezone_offset": -480,
|
|
266
|
+
},
|
|
267
|
+
)
|
|
268
|
+
if int(payload.get("code", -1)) == 0:
|
|
269
|
+
return self._extract_opus_item(payload, opus_id)
|
|
270
|
+
fallback_error = OpusUnavailableError(
|
|
271
|
+
f"获取动态信息失败: {_api_message(payload)}"
|
|
272
|
+
)
|
|
273
|
+
except OpusUnavailableError as exc:
|
|
274
|
+
fallback_error = exc
|
|
275
|
+
except Exception as exc:
|
|
276
|
+
fallback_error = exc
|
|
277
|
+
|
|
278
|
+
raise OpusUnavailableError(
|
|
279
|
+
f"图文 {opus_id} 不可用: {fallback_error or primary_error or '未知错误'}"
|
|
280
|
+
)
|
|
281
|
+
|
|
282
|
+
@staticmethod
|
|
283
|
+
def _extract_opus_item(payload: dict[str, Any], opus_id: str) -> dict[str, Any]:
|
|
284
|
+
"""校验响应并返回 ``data.item``。"""
|
|
285
|
+
data = payload.get("data")
|
|
286
|
+
if not isinstance(data, dict):
|
|
287
|
+
raise OpusUnavailableError(f"图文 {opus_id} 响应缺少 data")
|
|
288
|
+
# data.fallback 非空表示该动态无法以图文形态返回(例如过旧的内容)
|
|
289
|
+
fallback = data.get("fallback")
|
|
290
|
+
item = data.get("item")
|
|
291
|
+
if not isinstance(item, dict) or not item:
|
|
292
|
+
detail = f"(fallback={fallback!r})" if fallback else ""
|
|
293
|
+
raise OpusUnavailableError(f"图文 {opus_id} 没有可用内容{detail}")
|
|
294
|
+
modules = item.get("modules")
|
|
295
|
+
if not isinstance(modules, (list, dict)) or not modules:
|
|
296
|
+
raise OpusUnavailableError(f"图文 {opus_id} 响应缺少 modules")
|
|
297
|
+
return item
|
|
@@ -6,6 +6,7 @@ import asyncio
|
|
|
6
6
|
from functools import partial
|
|
7
7
|
import logging
|
|
8
8
|
from pathlib import Path
|
|
9
|
+
from typing import Any
|
|
9
10
|
import uuid
|
|
10
11
|
|
|
11
12
|
from Undefined.bilibili.api_client import BilibiliApiClient
|
|
@@ -23,6 +24,7 @@ __all__ = [
|
|
|
23
24
|
"VideoInfo",
|
|
24
25
|
"cleanup_file",
|
|
25
26
|
"download_video",
|
|
27
|
+
"get_opus_item",
|
|
26
28
|
"get_video_info",
|
|
27
29
|
]
|
|
28
30
|
|
|
@@ -39,6 +41,21 @@ async def get_video_info(
|
|
|
39
41
|
return await asyncio.to_thread(partial(_get_video_info_sync, bvid, cookie=cookie))
|
|
40
42
|
|
|
41
43
|
|
|
44
|
+
async def get_opus_item(
|
|
45
|
+
dynamic_id: str,
|
|
46
|
+
cookie: str = "",
|
|
47
|
+
) -> dict[str, Any]:
|
|
48
|
+
"""获取图文 / 动态的原始 ``data.item`` 结构。"""
|
|
49
|
+
return await asyncio.to_thread(
|
|
50
|
+
partial(_get_opus_item_sync, dynamic_id, cookie=cookie)
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def _get_opus_item_sync(dynamic_id: str, *, cookie: str = "") -> dict[str, Any]:
|
|
55
|
+
with BilibiliApiClient(cookie=cookie, timeout=_DEFAULT_TIMEOUT_SECONDS) as client:
|
|
56
|
+
return client.get_opus_item(dynamic_id)
|
|
57
|
+
|
|
58
|
+
|
|
42
59
|
def _get_video_info_sync(bvid: str, *, cookie: str = "") -> VideoInfo:
|
|
43
60
|
with BilibiliApiClient(cookie=cookie, timeout=_DEFAULT_TIMEOUT_SECONDS) as client:
|
|
44
61
|
return client.get_video_info(bvid)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"""B 站内容展示用的共享格式化助手。
|
|
2
|
+
|
|
3
|
+
这里只放纯函数:数字缩写、时长、时间戳、以及按长度切分文本。发送层
|
|
4
|
+
(``bilibili.sender`` / ``bilibili.opus_sender``)与 ``utils/sender.py``
|
|
5
|
+
共用同一套语义,避免各写一份。
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
from datetime import datetime, timedelta, timezone
|
|
11
|
+
|
|
12
|
+
# QQ / OneBot 单条文本的保守上限;与 ``utils.sender.MAX_MESSAGE_LENGTH`` 保持一致。
|
|
13
|
+
# 这里单独定义一份,避免 ``bilibili`` 包反向依赖发送器实现。
|
|
14
|
+
MAX_TEXT_LENGTH = 4000
|
|
15
|
+
|
|
16
|
+
# B 站展示时间统一使用北京时间(API 通过 timezone_offset=-480 对齐)
|
|
17
|
+
BEIJING_TIMEZONE = timezone(timedelta(hours=8))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def format_count(value: int) -> str:
|
|
21
|
+
"""把计数格式化为中文缩写(1.2万 / 1.5亿)。"""
|
|
22
|
+
if value < 0:
|
|
23
|
+
value = 0
|
|
24
|
+
if value >= 100_000_000:
|
|
25
|
+
return f"{value / 100_000_000:.1f}亿"
|
|
26
|
+
if value >= 10_000:
|
|
27
|
+
return f"{value / 10_000:.1f}万"
|
|
28
|
+
return str(value)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def format_duration(seconds: int) -> str:
|
|
32
|
+
"""把秒数格式化为 mm:ss 或 h:mm:ss。"""
|
|
33
|
+
seconds = max(0, int(seconds))
|
|
34
|
+
hours, remainder = divmod(seconds, 3600)
|
|
35
|
+
minutes, secs = divmod(remainder, 60)
|
|
36
|
+
if hours:
|
|
37
|
+
return f"{hours}:{minutes:02d}:{secs:02d}"
|
|
38
|
+
return f"{minutes}:{secs:02d}"
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def format_progress(progress_ms: int) -> str:
|
|
42
|
+
"""把弹幕时间戳(毫秒)格式化为 mm:ss。"""
|
|
43
|
+
return format_duration(max(0, int(progress_ms)) // 1000)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def format_timestamp(timestamp: int) -> str:
|
|
47
|
+
"""把 UNIX 秒级时间戳格式化为北京时间 ``YYYY-MM-DD HH:MM``。"""
|
|
48
|
+
if timestamp <= 0:
|
|
49
|
+
return ""
|
|
50
|
+
try:
|
|
51
|
+
moment = datetime.fromtimestamp(int(timestamp), tz=BEIJING_TIMEZONE)
|
|
52
|
+
except (OverflowError, OSError, ValueError):
|
|
53
|
+
return ""
|
|
54
|
+
return moment.strftime("%Y-%m-%d %H:%M")
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
def split_text_chunks(text: str, limit: int = MAX_TEXT_LENGTH) -> list[str]:
|
|
58
|
+
"""按长度分片,优先在换行后切分并保留原始文本。
|
|
59
|
+
|
|
60
|
+
与 ``utils.sender._split_text_chunks`` 同语义:任何字符都不会丢失,
|
|
61
|
+
无换行的超长段落会被硬切。
|
|
62
|
+
"""
|
|
63
|
+
if not text:
|
|
64
|
+
return []
|
|
65
|
+
size = max(1, int(limit))
|
|
66
|
+
chunks: list[str] = []
|
|
67
|
+
start = 0
|
|
68
|
+
while start < len(text):
|
|
69
|
+
end = min(start + size, len(text))
|
|
70
|
+
if end < len(text):
|
|
71
|
+
newline = text.rfind("\n", start, end)
|
|
72
|
+
if newline >= start:
|
|
73
|
+
end = newline + 1
|
|
74
|
+
chunks.append(text[start:end])
|
|
75
|
+
start = end
|
|
76
|
+
return chunks
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"""B 站下载数据模型。"""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from dataclasses import dataclass
|
|
6
|
+
from pathlib import Path
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@dataclass(slots=True, frozen=True)
|
|
10
|
+
class VideoStats:
|
|
11
|
+
"""视频互动统计。"""
|
|
12
|
+
|
|
13
|
+
view: int = 0
|
|
14
|
+
danmaku: int = 0
|
|
15
|
+
reply: int = 0
|
|
16
|
+
favorite: int = 0
|
|
17
|
+
coin: int = 0
|
|
18
|
+
share: int = 0
|
|
19
|
+
like: int = 0
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@dataclass(slots=True, frozen=True)
|
|
23
|
+
class VideoInfo:
|
|
24
|
+
"""视频基本信息。"""
|
|
25
|
+
|
|
26
|
+
bvid: str
|
|
27
|
+
aid: int
|
|
28
|
+
title: str
|
|
29
|
+
duration: int
|
|
30
|
+
cover_url: str
|
|
31
|
+
up_name: str
|
|
32
|
+
desc: str
|
|
33
|
+
cid: int
|
|
34
|
+
page_duration: int
|
|
35
|
+
stats: VideoStats
|
|
36
|
+
|
|
37
|
+
@property
|
|
38
|
+
def url(self) -> str:
|
|
39
|
+
"""标准视频链接。"""
|
|
40
|
+
return f"https://www.bilibili.com/video/{self.bvid}"
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
@dataclass(slots=True, frozen=True)
|
|
44
|
+
class DownloadResult:
|
|
45
|
+
"""视频下载结果。"""
|
|
46
|
+
|
|
47
|
+
path: Path
|
|
48
|
+
size_bytes: int
|
|
49
|
+
quality: int
|
|
50
|
+
quality_label: str
|
|
51
|
+
video_info: VideoInfo
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
@dataclass(slots=True, frozen=True)
|
|
55
|
+
class DanmakuItem:
|
|
56
|
+
"""单条弹幕。"""
|
|
57
|
+
|
|
58
|
+
progress_ms: int
|
|
59
|
+
content: str
|
|
60
|
+
dmid: str = ""
|
|
61
|
+
mode: int = 0
|
|
62
|
+
pool: int = 0
|
|
63
|
+
ctime: int = 0
|
|
64
|
+
mid_hash: str = ""
|
|
65
|
+
color: int = 0
|
|
66
|
+
weight: int = 0
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
@dataclass(slots=True, frozen=True)
|
|
70
|
+
class OpusStats:
|
|
71
|
+
"""图文互动统计。"""
|
|
72
|
+
|
|
73
|
+
view: int = 0
|
|
74
|
+
like: int = 0
|
|
75
|
+
comment: int = 0
|
|
76
|
+
repost: int = 0
|
|
77
|
+
coin: int = 0
|
|
78
|
+
favorite: int = 0
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
@dataclass(slots=True, frozen=True)
|
|
82
|
+
class OpusAuthor:
|
|
83
|
+
"""图文作者信息。"""
|
|
84
|
+
|
|
85
|
+
mid: int = 0
|
|
86
|
+
name: str = ""
|
|
87
|
+
avatar_url: str = ""
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
@dataclass(slots=True, frozen=True)
|
|
91
|
+
class TextBlock:
|
|
92
|
+
"""图文段落中的纯文本。"""
|
|
93
|
+
|
|
94
|
+
text: str
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
@dataclass(slots=True, frozen=True)
|
|
98
|
+
class ImageBlock:
|
|
99
|
+
"""图文段落中的图片组。"""
|
|
100
|
+
|
|
101
|
+
urls: tuple[str, ...]
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
@dataclass(slots=True, frozen=True)
|
|
105
|
+
class VideoCardBlock:
|
|
106
|
+
"""指向投稿视频的卡片段落。"""
|
|
107
|
+
|
|
108
|
+
bvid: str = ""
|
|
109
|
+
title: str = ""
|
|
110
|
+
cover_url: str = ""
|
|
111
|
+
jump_url: str = ""
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
@dataclass(slots=True, frozen=True)
|
|
115
|
+
class OpusCardBlock:
|
|
116
|
+
"""指向另一篇图文的卡片段落。"""
|
|
117
|
+
|
|
118
|
+
opus_id: str = ""
|
|
119
|
+
title: str = ""
|
|
120
|
+
cover_url: str = ""
|
|
121
|
+
jump_url: str = ""
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
@dataclass(slots=True, frozen=True)
|
|
125
|
+
class LinkCardBlock:
|
|
126
|
+
"""其它类型的卡片段落(商品 / 直播 / 投票 / 通用链接等)。"""
|
|
127
|
+
|
|
128
|
+
title: str = ""
|
|
129
|
+
jump_url: str = ""
|
|
130
|
+
cover_url: str = ""
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
OpusBlock = TextBlock | ImageBlock | VideoCardBlock | OpusCardBlock | LinkCardBlock
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
@dataclass(slots=True, frozen=True)
|
|
137
|
+
class OpusInfo:
|
|
138
|
+
"""图文(opus / 动态)基本信息。"""
|
|
139
|
+
|
|
140
|
+
opus_id: str
|
|
141
|
+
title: str
|
|
142
|
+
blocks: tuple[OpusBlock, ...]
|
|
143
|
+
author: OpusAuthor = OpusAuthor()
|
|
144
|
+
stats: OpusStats = OpusStats()
|
|
145
|
+
pub_ts: int = 0
|
|
146
|
+
cover_url: str = ""
|
|
147
|
+
dynamic_type_id: str = ""
|
|
148
|
+
is_forward: bool = False
|
|
149
|
+
forward_origin: OpusAuthor | None = None
|
|
150
|
+
|
|
151
|
+
@property
|
|
152
|
+
def url(self) -> str:
|
|
153
|
+
"""标准图文链接。"""
|
|
154
|
+
return f"https://www.bilibili.com/opus/{self.opus_id}"
|
|
155
|
+
|
|
156
|
+
@property
|
|
157
|
+
def images(self) -> tuple[str, ...]:
|
|
158
|
+
"""按顺序收集全部图片 URL。"""
|
|
159
|
+
urls: list[str] = []
|
|
160
|
+
for block in self.blocks:
|
|
161
|
+
if isinstance(block, ImageBlock):
|
|
162
|
+
urls.extend(block.urls)
|
|
163
|
+
return tuple(urls)
|