refactor: add configuration dependency ratchet

This commit is contained in:
jxxghp
2026-08-21 21:20:56 +08:00
parent 9df599f502
commit ff0ce8d1c1
16 changed files with 671 additions and 34 deletions
@@ -0,0 +1,250 @@
{
"schema_version": 1,
"scope": {
"excluded": [
"app/plugins",
"app/sdk",
"app/runtime/compat"
],
"root": "app"
},
"settings_imports": {
"count": 169,
"files": [
"app/adapters/cache/backends.py",
"app/adapters/cache/redis.py",
"app/adapters/external/cookiecloud.py",
"app/adapters/external/market.py",
"app/adapters/external/ocr.py",
"app/adapters/external/server.py",
"app/adapters/network/browser.py",
"app/adapters/network/doh.py",
"app/adapters/system/fsproxy.py",
"app/adapters/system/plugin/dependency.py",
"app/adapters/system/plugin/package.py",
"app/adapters/system/resource.py",
"app/adapters/system/rust.py",
"app/adapters/web/security/access.py",
"app/agent/capabilities/adapter.py",
"app/agent/llm/capability.py",
"app/agent/llm/helper.py",
"app/agent/llm/provider.py",
"app/agent/memory/__init__.py",
"app/agent/orchestrator.py",
"app/agent/prompt/__init__.py",
"app/agent/runtime.py",
"app/agent/skills/registry.py",
"app/agent/tools/base.py",
"app/agent/tools/impl/_plugin_tool_utils.py",
"app/agent/tools/impl/_terminal_session.py",
"app/agent/tools/impl/add_download_tasks.py",
"app/agent/tools/impl/create_agent_task.py",
"app/agent/tools/impl/query_agent_tasks.py",
"app/agent/tools/impl/query_system_settings.py",
"app/agent/tools/impl/recognize_media.py",
"app/agent/tools/impl/scrape_metadata.py",
"app/agent/tools/impl/search_web.py",
"app/agent/tools/impl/send_voice_message.py",
"app/agent/tools/impl/update_agent_task.py",
"app/agent/tools/impl/update_system_settings.py",
"app/api/endpoints/agent.py",
"app/api/endpoints/anthropic.py",
"app/api/endpoints/dashboard.py",
"app/api/endpoints/history.py",
"app/api/endpoints/login.py",
"app/api/endpoints/media.py",
"app/api/endpoints/message.py",
"app/api/endpoints/openai.py",
"app/api/endpoints/plugin.py",
"app/api/endpoints/storage.py",
"app/api/endpoints/subscribe.py",
"app/api/endpoints/system.py",
"app/api/endpoints/tmdb.py",
"app/api/endpoints/torrent.py",
"app/api/endpoints/transfer.py",
"app/api/servcookie.py",
"app/application/formatting.py",
"app/application/image.py",
"app/application/maintenance.py",
"app/application/rss.py",
"app/application/security/auth.py",
"app/application/security/passkey.py",
"app/application/security/token.py",
"app/application/security/url.py",
"app/application/torrent.py",
"app/chain/_messaging.py",
"app/chain/_recognition.py",
"app/chain/_transfer.py",
"app/chain/download.py",
"app/chain/interaction.py",
"app/chain/media.py",
"app/chain/message.py",
"app/chain/recommend.py",
"app/chain/scraping.py",
"app/chain/search.py",
"app/chain/site.py",
"app/chain/storage.py",
"app/chain/subscribe.py",
"app/chain/system.py",
"app/chain/torrents.py",
"app/chain/transfer.py",
"app/chain/user.py",
"app/cli.py",
"app/db/base.py",
"app/db/engine.py",
"app/db/session.py",
"app/doctor/checks.py",
"app/doctor/runner.py",
"app/factory.py",
"app/main.py",
"app/modules/acoustid/__init__.py",
"app/modules/anilist/__init__.py",
"app/modules/anilist/anilist.py",
"app/modules/bangumi/__init__.py",
"app/modules/bangumi/bangumi.py",
"app/modules/discord/discord.py",
"app/modules/douban/__init__.py",
"app/modules/douban/apiv2.py",
"app/modules/emby/emby.py",
"app/modules/fanart/__init__.py",
"app/modules/feishu/feishu.py",
"app/modules/filemanager/module.py",
"app/modules/filemanager/storages/alipan.py",
"app/modules/filemanager/storages/alist.py",
"app/modules/filemanager/storages/local.py",
"app/modules/filemanager/storages/rclone.py",
"app/modules/filemanager/storages/smb.py",
"app/modules/filemanager/storages/u115.py",
"app/modules/filemanager/transhandler.py",
"app/modules/indexer/parser/__init__.py",
"app/modules/indexer/parser/rousi.py",
"app/modules/indexer/spider/__init__.py",
"app/modules/indexer/spider/haidan.py",
"app/modules/indexer/spider/hddolby.py",
"app/modules/indexer/spider/mtorrent.py",
"app/modules/indexer/spider/rousi.py",
"app/modules/indexer/spider/sunnypt.py",
"app/modules/indexer/spider/tnode.py",
"app/modules/indexer/spider/torrentleech.py",
"app/modules/indexer/spider/yema.py",
"app/modules/jellyfin/jellyfin.py",
"app/modules/listenbrainz/__init__.py",
"app/modules/lrclib/__init__.py",
"app/modules/musicbrainz/__init__.py",
"app/modules/musicbrainz/music_cache.py",
"app/modules/postgresql/__init__.py",
"app/modules/qbittorrent/__init__.py",
"app/modules/qqbot/qqbot.py",
"app/modules/redis/__init__.py",
"app/modules/rtorrent/__init__.py",
"app/modules/slack/slack.py",
"app/modules/subtitle/__init__.py",
"app/modules/telegram/telegram.py",
"app/modules/theaudiodb/__init__.py",
"app/modules/themoviedb/__init__.py",
"app/modules/themoviedb/category.py",
"app/modules/themoviedb/scraper.py",
"app/modules/themoviedb/tmdb_cache.py",
"app/modules/themoviedb/tmdbapi.py",
"app/modules/themoviedb/tmdbv3api/objs/discover.py",
"app/modules/themoviedb/tmdbv3api/tmdb.py",
"app/modules/thetvdb/__init__.py",
"app/modules/thetvdb/tvdb_v4_official.py",
"app/modules/transmission/__init__.py",
"app/modules/trimemedia/api.py",
"app/modules/webpush/__init__.py",
"app/modules/wechat/wechatbot.py",
"app/modules/wechatclawbot/wechatclawbot.py",
"app/monitor/dispatcher.py",
"app/monitor/monitor.py",
"app/monitor/snapshot.py",
"app/monitor/syslimits.py",
"app/monitor/watcher.py",
"app/runtime/extensions/host_module_adapter.py",
"app/runtime/extensions/module_manager.py",
"app/runtime/extensions/plugin/catalog.py",
"app/runtime/extensions/plugin_manager.py",
"app/runtime/state.py",
"app/runtime/thread.py",
"app/scheduler.py",
"app/startup/agent_initializer.py",
"app/startup/database.py",
"app/startup/database_initializer.py",
"app/startup/domain_initializer.py",
"app/startup/lifecycle/__init__.py",
"app/startup/modules_initializer.py",
"app/startup/plugins_initializer.py",
"app/startup/routers_initializer.py",
"app/workflow/actions/add_subscribe.py",
"app/workflow/actions/fetch_medias.py",
"app/workflow/actions/fetch_rss.py",
"app/workflow/actions/scan_file.py",
"app/workflow/actions/send_message.py"
]
},
"system_config_oper_constructions": {
"calls": [
{
"file": "app/scheduler.py",
"name": "SystemConfigOper"
},
{
"file": "app/startup/modules_initializer.py",
"name": "SystemConfigOper"
},
{
"file": "app/startup/modules_initializer.py",
"name": "SystemConfigOper"
},
{
"file": "app/startup/modules_initializer.py",
"name": "SystemConfigOper"
},
{
"file": "app/startup/modules_initializer.py",
"name": "SystemConfigOper"
},
{
"file": "app/startup/modules_initializer.py",
"name": "SystemConfigOper"
},
{
"file": "app/startup/modules_initializer.py",
"name": "SystemConfigOper"
},
{
"file": "app/startup/modules_initializer.py",
"name": "SystemConfigOper"
},
{
"file": "app/startup/plugins_initializer.py",
"name": "SystemConfigOper"
},
{
"file": "app/startup/plugins_initializer.py",
"name": "SystemConfigOper"
},
{
"file": "app/startup/plugins_initializer.py",
"name": "SystemConfigOper"
},
{
"file": "app/startup/plugins_initializer.py",
"name": "SystemConfigOper"
},
{
"file": "app/startup/plugins_initializer.py",
"name": "SystemConfigOper"
},
{
"file": "app/startup/plugins_initializer.py",
"name": "SystemConfigOper"
},
{
"file": "app/startup/plugins_initializer.py",
"name": "SystemConfigOper"
}
],
"count": 15
}
}
+4 -3
View File
@@ -13,8 +13,8 @@
"runtime_to_db": [],
"workflow_to_db": []
},
"edge_count": 6203,
"edge_sha256": "75ac7a20854abb707ea6c851326a183873a64e93f67053ffcd79ca5b01a105f6",
"edge_count": 6204,
"edge_sha256": "9a988284502bb26fae5266321765fbf0e10b9fe608fd448c6868e67a824ea862",
"edges": [
"app -> app.runtime",
"app -> app.runtime.compat",
@@ -2464,6 +2464,8 @@
"app.application.formatting -> app.schemas",
"app.application.formatting -> app.schemas.transfer",
"app.application.formatting -> app.schemas.workflow",
"app.application.history -> app.application",
"app.application.history -> app.application.configuration",
"app.application.history -> app.domain",
"app.application.history -> app.domain.context",
"app.application.history -> app.domain.meta",
@@ -2473,7 +2475,6 @@
"app.application.history -> app.foundation.text",
"app.application.history -> app.runtime",
"app.application.history -> app.runtime.cache",
"app.application.history -> app.runtime.config",
"app.application.history -> app.runtime.log",
"app.application.history -> app.schemas",
"app.application.history -> app.schemas.history",