{ "schema_version": 1, "module": "shop_intelligence", "source_project": "shop-data-flow", "files": [ { "source_relative_path": ".env.example", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/config.example.env", "category": "config", "source_sha256": "d0a005429c4363020681076afe4ec389712bd86b041271b8e9d52b977d79bfc1", "target_sha256": "a1e2bad32d3a2eb6cec1c60e13bef1298f872365301c048a8e8df826c783c122", "transformed": true }, { "source_relative_path": "adaptive_selectors.py", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/adaptive_selectors.py", "category": "source", "source_sha256": "7f60d6eedf0b9bf4aad0087305a86814dc9e2691128cce4010f9b3deff403bae", "target_sha256": "9ee3b786a5eecb6877c31d583de87bf75e22326c9126d9b679d2d4460db70454", "transformed": true }, { "source_relative_path": "collectors/__init__.py", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/collectors/__init__.py", "category": "source", "source_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "target_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "transformed": false }, { "source_relative_path": "collectors/dy_store_competitor_store_scraping.py", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/collectors/dy_store_competitor_store_scraping.py", "category": "source", "source_sha256": "009879a7dd341ca6ecbc8eb66f5700114c73bcaba3a53f159014a76232d0aa6b", "target_sha256": "8d319196d56a52e084c375f872faf729d33fca400f4cabae901accb6c0bdde47", "transformed": true }, { "source_relative_path": "collectors/jd_data_collector.py", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/collectors/jd_data_collector.py", "category": "source", "source_sha256": "6f00ae3b2b74e08d3c34c3b911ea819dfa4c6ce55bceef282afb3b2f565aa3ec", "target_sha256": "1825f123b3c1604340bd95a79cad31cbaba23834d50dae69ce5b68068a5b055e", "transformed": true }, { "source_relative_path": "collectors/jd_peer_store_data_collector.py", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/collectors/jd_peer_store_data_collector.py", "category": "source", "source_sha256": "4ebdb52df7b384d2bfdd2fc840d55d14e18864002c20a36685b63cee1966cf4c", "target_sha256": "23f445aae6bcf41193db5286ce1a519d50b93e20a55f27f6df58315aafb30a08", "transformed": true }, { "source_relative_path": "collectors/taobao_sycm.py", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/collectors/taobao_sycm.py", "category": "source", "source_sha256": "6978333bd60c1946e3dd8eeced1d0589461c4a26377511da7875f60bd0e31739", "target_sha256": "6042dc251c0dbff92ca9eb8ed0a4db4322db5810e43fadf1cae79219067496fd", "transformed": true }, { "source_relative_path": "config.py", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/config.py", "category": "source", "source_sha256": "2cfa101ed07643ad822f176e4b21bb72bf7ff32e3945837082811ea792a9e21b", "target_sha256": "d9a8e32513071dacc8fd303901a3f665336d49e5dd8afe2ba3a0bc8f9dc19985", "transformed": true }, { "source_relative_path": "db/__init__.py", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/db/__init__.py", "category": "source", "source_sha256": "e75ec31954ddf3c6a84e5915a6ff662027d097fdf7fba91aa5c84d048b8e960c", "target_sha256": "e75ec31954ddf3c6a84e5915a6ff662027d097fdf7fba91aa5c84d048b8e960c", "transformed": false }, { "source_relative_path": "db/db.py", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/db/db.py", "category": "source", "source_sha256": "bf600de53e60be0492426b6ffade60f75474d885263963b12b1bc4a42c03e216", "target_sha256": "567df11eac1462111594668d66e1210fe1d1808f0f77250e557ad1cf5b66af44", "transformed": true }, { "source_relative_path": "db/schema.sql", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/db/schema.sql", "category": "sql", "source_sha256": "5c3b90a70af4aa9e69039be8f3ec79a136ab5892e5d1ff31fc8a20d735a5dfe5", "target_sha256": "5c3b90a70af4aa9e69039be8f3ec79a136ab5892e5d1ff31fc8a20d735a5dfe5", "transformed": false }, { "source_relative_path": "lark_cli.py", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/lark_cli.py", "category": "source", "source_sha256": "434394c2864b44e612a34b16c242df2a5f89dbfb298505b22f2133af925d0233", "target_sha256": "dd2c06c0e491f310e563b6203b078f41fd1cf1427b946332a2735df522cf13d1", "transformed": true }, { "source_relative_path": "pyproject.toml", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/dependencies.toml", "category": "dependency", "source_sha256": "002035ffb503798d48241f962216c5baa460de4ee8a1d7d696a3d6ba6afb2975", "target_sha256": "002035ffb503798d48241f962216c5baa460de4ee8a1d7d696a3d6ba6afb2975", "transformed": false }, { "source_relative_path": "runners/__init__.py", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/runners/__init__.py", "category": "source", "source_sha256": "79b41ece107032dcaa3a7b07df8454673fae8d09f763052ec12c81e3be5126d0", "target_sha256": "79b41ece107032dcaa3a7b07df8454673fae8d09f763052ec12c81e3be5126d0", "transformed": false }, { "source_relative_path": "runners/run_peer_store.py", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/runners/run_peer_store.py", "category": "launcher", "source_sha256": "363a04b516dd6b011f07bf34feb480ccd0f1da46cb7d9512653ea7d5f4f7a3a4", "target_sha256": "5db5365ba1a69ec325cc9e5b90aa77609045df84d5b3b8956e1718faaf30be55", "transformed": true }, { "source_relative_path": "runners/run_shop.py", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/runners/run_shop.py", "category": "launcher", "source_sha256": "5c5a37fb230f531e55563e75b7cf361a3cba190707f01f516e244ac643c73027", "target_sha256": "f12d29bd72533780270393eae855412b87f716f2540b05fed82da097821d20cb", "transformed": true }, { "source_relative_path": "runners/utils.py", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/runners/utils.py", "category": "source", "source_sha256": "3bdf504593634d467524d06322d7f0ca20ab7bdf8c115573c154b8f5559c1cad", "target_sha256": "43340178902f3531d3d68ae3dc51b2dc8117003b43c6172f32a53f04b3f6f2cb", "transformed": true }, { "source_relative_path": "scripts/remove_scheduler.ps1", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/scripts/remove_scheduler.ps1", "category": "launcher", "source_sha256": "0532c87a6de5f7f7f65796b8c2077126091cda7d4f065c6015624599b6df1ee6", "target_sha256": "c376ac34da5aa777634ccea5a5d2e5718c69309b17a0219cac5c19a3c6d46ca4", "transformed": true }, { "source_relative_path": "scripts/setup_scheduler.ps1", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/scripts/setup_scheduler.ps1", "category": "launcher", "source_sha256": "8ff5418b494886ceb76acb9c8dcbccf85183f1e85fb18426c0053802ae5eb26b", "target_sha256": "88915b6d75c62c61d13bc39d7fb959ea4b308068b9edab08db43c5c18f295f69", "transformed": true }, { "source_relative_path": "writers/__init__.py", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/writers/__init__.py", "category": "source", "source_sha256": "d830cb8dd53601d06abb9481c907472bcefcadb8b65ceb0356f5baf037c3af10", "target_sha256": "d830cb8dd53601d06abb9481c907472bcefcadb8b65ceb0356f5baf037c3af10", "transformed": false }, { "source_relative_path": "writers/peer_store_writer.py", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/writers/peer_store_writer.py", "category": "source", "source_sha256": "71bf69c423bf3dd1f3d68d4e33f7024fbe0e446567d2cc3b25ec0cb71f59ab7e", "target_sha256": "075b2862d486f43a406a3be58439813b60f3354ebba244f4d0be25a82ff618d7", "transformed": true }, { "source_relative_path": "writers/shop_base_writer.py", "target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/writers/shop_base_writer.py", "category": "source", "source_sha256": "01aa18955a0ec92f4fb745df916e5b7f1c69646c8a194e29bc0042120f59c722", "target_sha256": "3ec3d71af95e7d50fa77d7ec684f1e86634eea0eed6be6b5728fe19a3f04ce0d", "transformed": true } ], "entrypoints": [ { "source_relative_path": "runners/run_shop.py", "target_relative_path": "runners/run_shop.py", "classification": "scheduled", "workflows": [ "shop.metrics.weekly" ] }, { "source_relative_path": "runners/run_peer_store.py", "target_relative_path": "runners/run_peer_store.py", "classification": "scheduled", "workflows": [ "shop.competitor.weekly" ] }, { "source_relative_path": "collectors/jd_data_collector.py", "target_relative_path": "collectors/jd_data_collector.py", "classification": "internal", "workflows": [ "shop.metrics.weekly" ] }, { "source_relative_path": "collectors/jd_peer_store_data_collector.py", "target_relative_path": "collectors/jd_peer_store_data_collector.py", "classification": "internal", "workflows": [ "shop.competitor.weekly" ] }, { "source_relative_path": "collectors/dy_store_competitor_store_scraping.py", "target_relative_path": "collectors/dy_store_competitor_store_scraping.py", "classification": "internal", "workflows": [ "shop.metrics.weekly", "shop.competitor.weekly" ] }, { "source_relative_path": "collectors/taobao_sycm.py", "target_relative_path": "collectors/taobao_sycm.py", "classification": "internal", "workflows": [ "shop.metrics.weekly" ] }, { "source_relative_path": "scripts/setup_scheduler.ps1", "target_relative_path": "scripts/setup_scheduler.ps1", "classification": "maintenance", "workflows": [ ] }, { "source_relative_path": "scripts/remove_scheduler.ps1", "target_relative_path": "scripts/remove_scheduler.ps1", "classification": "maintenance", "workflows": [ ] } ], "intentionally_excluded": [ { "pattern": ".git/**", "reason": "runtime, generated, sensitive, or non-business material is not copied into module source" }, { "pattern": ".venv/**", "reason": "runtime, generated, sensitive, or non-business material is not copied into module source" }, { "pattern": "**/__pycache__/**", "reason": "runtime, generated, sensitive, or non-business material is not copied into module source" }, { "pattern": ".env", "reason": "runtime, generated, sensitive, or non-business material is not copied into module source" }, { "pattern": "**/*cookies*", "reason": "runtime, generated, sensitive, or non-business material is not copied into module source" }, { "pattern": "**/*profile*/**", "reason": "runtime, generated, sensitive, or non-business material is not copied into module source" }, { "pattern": "**/data/**", "reason": "runtime, generated, sensitive, or non-business material is not copied into module source" }, { "pattern": "**/logs/**", "reason": "runtime, generated, sensitive, or non-business material is not copied into module source" }, { "pattern": "debug/**", "reason": "runtime, generated, sensitive, or non-business material is not copied into module source" }, { "pattern": "uv.lock", "reason": "runtime, generated, sensitive, or non-business material is not copied into module source" }, { "pattern": "README.md", "reason": "runtime, generated, sensitive, or non-business material is not copied into module source" }, { "pattern": "CLAUDE.md", "reason": "runtime, generated, sensitive, or non-business material is not copied into module source" }, { "pattern": "AGENTS.md", "reason": "runtime, generated, sensitive, or non-business material is not copied into module source" } ], "snapshot": "current-filesystem" }