This commit is contained in:
zlwu committed 2026-08-09 19:42:32 +08:00
1 parent 47ef575524
commit 38383b35d9
92 files changed
+1051117 -37355

No files matched your search

@@ -0,0 +1 @@
{"nodes": [], "edges": [], "skipped": "data json (not a config/manifest)"}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_json", "label": "package.json", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_name", "label": "name", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L2"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_version", "label": "version", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L3"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_description", "label": "description", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L4"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_type", "label": "type", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L5"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_engines", "label": "engines", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L6"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_engines_node", "label": "node", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L7"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_engines_pnpm", "label": "pnpm", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L8"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_scripts", "label": "scripts", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L10"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_scripts_dev", "label": "dev", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L11"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_scripts_build", "label": "build", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L12"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_scripts_build_typecheck", "label": "build:typecheck", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L13"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_scripts_serve", "label": "serve", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L14"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_scripts_lint", "label": "lint", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L15"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_scripts_fix", "label": "fix", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L16"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_scripts_lint_prettier", "label": "lint:prettier", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L17"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_scripts_lint_stylelint", "label": "lint:stylelint", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L18"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_scripts_lint_lint_staged", "label": "lint:lint-staged", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L19"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_scripts_prepare", "label": "prepare", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L20"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_scripts_commit", "label": "commit", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L21"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_scripts_clean_dev", "label": "clean:dev", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L22"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_config", "label": "config", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L24"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_config_commitizen", "label": "commitizen", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L25"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_commitizen_path", "label": "path", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L26"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_lint_staged", "label": "lint-staged", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L29"}, {"id": "users_wuzilong_work_00code_shanxia2_0_web_admin_package_lint_staged_js_ts_mjs_mts_tsx", "label": "*.{js,ts,mjs,mts,tsx}", "file_type": "code", "source_file": "web-admin/package.json", "source_location": "L30"}, {"id": "users_wuzilong_work_00code_shanxia2_0_weLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_internal_customer_py", "label": "pl_internal_customer.py", "file_type": "code", "source_file": "backend/app/services/pl_internal_customer.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_internal_customer_is_internal_customer_name", "label": "is_internal_customer_name()", "file_type": "code", "source_file": "backend/app/services/pl_internal_customer.py", "source_location": "L12"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_internal_customer_rationale_1", "label": "\u8fd0\u8f93\u8ba1\u5212\uff1a\u5185\u7f6e\u5c71\u5ce1/\u4e91\u680b\u5ba2\u6237\u5224\u5b9a\uff08\u5408\u540c\u53ef\u514d\uff09", "file_type": "rationale", "source_file": "backend/app/services/pl_internal_customer.py", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_internal_customer_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/services/pl_internal_customer.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_internal_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_internal_customer_is_internal_customer_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/services/pl_internal_customer.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_internal_customer_rationale_1", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_internal_customer_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/services/pl_internal_customer.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_internal_customer_is_internal_customer_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_internal_customer.py", "source_location": "L13", "receiver": null}], "callable_nids": ["users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_internal_customer_is_internal_customer_name"]}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "label": "plan.py", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_planproductbase", "label": "PlanProductBase", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L16"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_planproductcreate", "label": "PlanProductCreate", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L55"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_planproductupdate", "label": "PlanProductUpdate", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L59"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_planarchivebrandqtyitem", "label": "PlanArchiveBrandQtyItem", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L81"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_planproductread", "label": "PlanProductRead", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L88"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_planbase", "label": "PlanBase", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L105"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_plancontractlink", "label": "PlanContractLink", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L155"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_plancreate", "label": "PlanCreate", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L161"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_plantransportcreateblock", "label": "PlanTransportCreateBlock", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L176"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_planupdate", "label": "PlanUpdate", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L190"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_hazardcertreadybody", "label": "HazardCertReadyBody", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L239"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_planread", "label": "PlanRead", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L244"}, {"id": "planresourcesnapshotmixin", "label": "PlanResourceSnapshotMixin", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_planwithproducts", "label": "PlanWithProducts", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L278"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_planinboundsliptemplatesave", "label": "PlanInboundSlipTemplateSave", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L282"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_plandeliverysliptemplatesave", "label": "PlanDeliverySlipTemplateSave", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L287"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_plansubpacksliptemplatesave", "label": "PlanSubpackSlipTemplateSave", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L294"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_createfromcontractrequest", "label": "CreateFromContractRequest", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L306"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_plancreatefull", "label": "PlanCreateFull", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L317"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_planlistquery", "label": "PlanListQuery", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L328"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_planproductcertitem", "label": "PlanProductCertItem", "file_type": "code", "source_file": "backend/app/schemas/pl/plan.py", "source_location": "L353"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_plan_planproductcertsupLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_json", "label": "package.json", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_name", "label": "name", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L2"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_private", "label": "private", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L3"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_version", "label": "version", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L4"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_type", "label": "type", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L5"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_scripts", "label": "scripts", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L6"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_scripts_dev", "label": "dev", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L7"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_scripts_build", "label": "build", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L8"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_scripts_preview", "label": "preview", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L9"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_dependencies", "label": "dependencies", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L11"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_dependencies_vant_use", "label": "@vant/use", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L12"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_dependencies_axios", "label": "axios", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L13"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_dependencies_dayjs", "label": "dayjs", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L14"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_dependencies_jsencrypt", "label": "jsencrypt", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L15"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_dependencies_pinia", "label": "pinia", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L16"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_dependencies_vant", "label": "vant", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L17"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_dependencies_vue", "label": "vue", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L18"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_dependencies_vue_router", "label": "vue-router", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L19"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_devdependencies", "label": "devDependencies", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L21"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_devdependencies_types_node", "label": "@types/node", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L22"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_devdependencies_vant_auto_import_resolver", "label": "@vant/auto-import-resolver", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L23"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_devdependencies_vitejs_plugin_vue", "label": "@vitejs/plugin-vue", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L24"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_devdependencies_typescript", "label": "typescript", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L25"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_devdependencies_unplugin_vue_components", "label": "unplugin-vue-components", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L26"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_devdependencies_vite", "label": "vite", "file_type": "code", "source_file": "bx-mobile/package.json", "source_location": "L27"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_package_devdependencies_vue_tsc", "label": "vue-tsc", Line truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_docs_business_inventory_03_\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6_md", "label": "03-\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6.md", "file_type": "document", "source_file": "docs/business-inventory/03-\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_business_inventory_03_\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6_\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6\u6e05\u5355_shanxia2_0_\u73b0\u72b6", "label": "\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6\u6e05\u5355\uff08shanxia2.0 \u73b0\u72b6\uff09", "file_type": "document", "source_file": "docs/business-inventory/03-\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_business_inventory_03_\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6_1_\u6a21\u5757\u5b9a\u4f4d", "label": "1. \u6a21\u5757\u5b9a\u4f4d", "file_type": "document", "source_file": "docs/business-inventory/03-\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6.md", "source_location": "L10"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_business_inventory_03_\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6_2_\u6280\u672f\u5b9e\u73b0", "label": "2. \u6280\u672f\u5b9e\u73b0", "file_type": "document", "source_file": "docs/business-inventory/03-\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6.md", "source_location": "L18"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_business_inventory_03_\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6_3_\u6570\u636e\u8868\u6e05\u5355_14_\u5f20", "label": "3. \u6570\u636e\u8868\u6e05\u5355\uff0814 \u5f20\uff09", "file_type": "document", "source_file": "docs/business-inventory/03-\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6.md", "source_location": "L33"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_business_inventory_03_\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6_4_\u4e1a\u52a1\u6a21\u5757\u660e\u7ec6", "label": "4. \u4e1a\u52a1\u6a21\u5757\u660e\u7ec6", "file_type": "document", "source_file": "docs/business-inventory/03-\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6.md", "source_location": "L56"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_business_inventory_03_\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6_4_1_\u8d39\u7528\u9879\u76ee\u7ba1\u7406_bx_expense_item", "label": "4.1 \u8d39\u7528\u9879\u76ee\u7ba1\u7406\uff08`/bx/expense-item`\uff09", "file_type": "document", "source_file": "docs/business-inventory/03-\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6.md", "source_location": "L58"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_business_inventory_03_\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6_4_2_\u5de5\u4f5c\u6d41\u914d\u7f6e_bx_workflow_advance_bx_workflow_reimburse", "label": "4.2 \u5de5\u4f5c\u6d41\u914d\u7f6e\uff08`/bx/workflow/advance`\u3001`/bx/workflow/reimburse`\uff09", "file_type": "document", "source_file": "docs/business-inventory/03-\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6.md", "source_location": "L69"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_business_inventory_03_\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6_4_3_\u5907\u7528\u91d1_bx_advance", "label": "4.3 \u5907\u7528\u91d1\uff08`/bx/advance`\uff09", "file_type": "document", "source_file": "docs/business-inventory/03-\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6.md", "source_location": "L82"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_business_inventory_03_\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6_4_3_1_\u5907\u7528\u91d1\u7533\u8bf7_bx_advance_apply", "label": "4.3.1 \u5907\u7528\u91d1\u7533\u8bf7\uff08`/bx/advance/apply`\uff09", "file_type": "document", "source_file": "docs/business-inventory/03-\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6.md", "source_location": "L84"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_business_inventory_03_\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6_4_3_2_\u5907\u7528\u91d1\u5ba1\u6279_bx_advance_approve", "label": "4.3.2 \u5907\u7528\u91d1\u5ba1\u6279\uff08`/bx/advance/approve`\uff09", "file_type": "document", "source_file": "docs/business-inventory/03-\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6.md", "source_location": "L94"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_business_inventory_03_\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6_4_3_3_\u5907\u7528\u91d1\u53d1\u653e_bx_advance_issue", "label": "4.3.3 \u5907\u7528\u91d1\u53d1\u653e\uff08`/bx/advance/issue`\uff09", "file_type": "document", "source_file": "docs/business-inventory/03-\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6.md", "source_location": "L103"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_business_inventory_03_\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6_4_4_\u62a5\u9500\u5355_bx_reimburse", "label": "4.4 \u62a5\u9500\u5355\uff08`/bx/reimburse`\uff09", "file_type": "document", "source_file": "docs/business-inventory/03-\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6.md", "source_location": "L115"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_business_inventory_03_\u62a5\u9500\u4e1a\u52a1\u660e\u7ec6_4_4_1_\u62a5\u9500\u7533\u8bf7_bx_reimburse_apply", "label": "4.4.1 \u62a5\u9500\u7533\u8bf7\uff08`/bx/reimburse/apply`\uff09", "file_type": "document", Line truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_py", "label": "quote.py", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quoteproductitem", "label": "QuoteProductItem", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L8"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quotelistbody", "label": "QuoteListBody", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L35"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quotedetailbody", "label": "QuoteDetailBody", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L61"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quotedeletebody", "label": "QuoteDeleteBody", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L65"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quotecreatebody", "label": "QuoteCreateBody", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L69"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quoteupdatebody", "label": "QuoteUpdateBody", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L103"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quotesubmitbody", "label": "QuoteSubmitBody", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L107"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quotetemplatesavebody", "label": "QuoteTemplateSaveBody", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L113"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quotetemplategetbody", "label": "QuoteTemplateGetBody", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L118"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quotepdfbody", "label": "QuotePdfBody", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L122"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quotesharegeneratebody", "label": "QuoteShareGenerateBody", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L126"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quoteacceptbody", "label": "QuoteAcceptBody", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L132"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quoterejectbody", "label": "QuoteRejectBody", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L137"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quotetocontractbody", "label": "QuoteToContractBody", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L143"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quotenewversionbody", "label": "QuoteNewVersionBody", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L152"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quoteversionsbody", "label": "QuoteVersionsBody", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L158"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quoteinvalidbody", "label": "QuoteInvalidBody", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L162"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quotestatisticsoverviewbody", "label": "QuoteStatisticsOverviewBody", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L167"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quotestatisticstrendbody", "label": "QuoteStatisticsTrendBody", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L173"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quoteproductlistbody", "label": "QuoteProductListBody", "file_type": "code", "source_file": "backend/app/schemas/crm/quote.py", "source_location": "L179"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_quoteproductcreatebody", "label": "QuoteProductCreateBody", "file_typeLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_pl_plan_supplier_demander_free_product_md", "label": "2026-08-08-pl-plan-supplier-demander-free-product.md", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-pl-plan-supplier-demander-free-product.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_pl_plan_supplier_demander_free_product_\u8fd0\u8f93\u8ba1\u5212\u4f9b\u65b9_\u9700\u65b9_\u81ea\u7531\u9009\u4ea7\u54c1_implementation_plan", "label": "\u8fd0\u8f93\u8ba1\u5212\u4f9b\u65b9/\u9700\u65b9 + \u81ea\u7531\u9009\u4ea7\u54c1 Implementation Plan", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-pl-plan-supplier-demander-free-product.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_pl_plan_supplier_demander_free_product_\u6587\u4ef6\u7ed3\u6784", "label": "\u6587\u4ef6\u7ed3\u6784", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-pl-plan-supplier-demander-free-product.md", "source_location": "L15"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_pl_plan_supplier_demander_free_product_task_1_ddl_model_pl_plan_contract", "label": "Task 1: DDL + Model `pl_plan_contract`", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-pl-plan-supplier-demander-free-product.md", "source_location": "L36"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_pl_plan_supplier_demander_free_product_task_2_\u5185\u90e8\u5ba2\u6237\u5de5\u5177_schema", "label": "Task 2: \u5185\u90e8\u5ba2\u6237\u5de5\u5177 + Schema", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-pl-plan-supplier-demander-free-product.md", "source_location": "L74"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_pl_plan_supplier_demander_free_product_task_3_service_\u6821\u9a8c\u4e0e\u6301\u4e45\u5316", "label": "Task 3: Service \u6821\u9a8c\u4e0e\u6301\u4e45\u5316", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-pl-plan-supplier-demander-free-product.md", "source_location": "L116"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_pl_plan_supplier_demander_free_product_task_4_\u524d\u7aef\u7c7b\u578b\u4e0e\u5185\u90e8\u5ba2\u6237\u5de5\u5177", "label": "Task 4: \u524d\u7aef\u7c7b\u578b\u4e0e\u5185\u90e8\u5ba2\u6237\u5de5\u5177", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-pl-plan-supplier-demander-free-product.md", "source_location": "L165"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_pl_plan_supplier_demander_free_product_task_5_\u5408\u540c\u591a\u9009\u7ec4\u4ef6", "label": "Task 5: \u5408\u540c\u591a\u9009\u7ec4\u4ef6", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-pl-plan-supplier-demander-free-product.md", "source_location": "L190"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_pl_plan_supplier_demander_free_product_task_6_\u91cd\u6784_plplanformdialog_\u4e3b\u6d41\u7a0b", "label": "Task 6: \u91cd\u6784 `PlPlanFormDialog` \u4e3b\u6d41\u7a0b", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-pl-plan-supplier-demander-free-product.md", "source_location": "L211"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_pl_plan_supplier_demander_free_product_task_7_\u5217\u8868\u4e0e\u67e5\u770b\u5c55\u793a", "label": "Task 7: \u5217\u8868\u4e0e\u67e5\u770b\u5c55\u793a", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-pl-plan-supplier-demander-free-product.md", "source_location": "L241"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_pl_plan_supplier_demander_free_product_task_8_\u6536\u5c3e", "label": "Task 8: \u6536\u5c3e", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-pl-plan-supplier-demander-free-product.md", "source_location": "L263"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_pl_plan_supplier_demander_free_product_\u9a8c\u6536\u6e05\u5355_\u5bf9\u7167_spec_8", "label": "\u9a8c\u6536\u6e05\u5355\uff08\u5bf9\u7167 Spec \u00a78\uff09", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-pl-plan-supplier-demander-free-product.md", "source_location": "L272"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_pl_plan_supplier_demander_free_product_md", "target": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_pl_plan_supplier_demander_free_product_\u8fd0\u8f93\u8ba1\u5212\u4f9b\u65b9_\u9700\u65b9_\u81ea\u7531\u9009\u4ea7\u54c1_implementation_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/supeLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_product_py", "label": "quote_product.py", "file_type": "code", "source_file": "backend/app/crud/crm/quote_product.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_product_ensure_quote_parent_scope", "label": "_ensure_quote_parent_scope()", "file_type": "code", "source_file": "backend/app/crud/crm/quote_product.py", "source_location": "L18"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_product.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_product_decimal_value", "label": "_decimal_value()", "file_type": "code", "source_file": "backend/app/crud/crm/quote_product.py", "source_location": "L26"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_product.py"}, {"id": "decimal", "label": "Decimal", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_product.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_product_get_field", "label": "_get_field()", "file_type": "code", "source_file": "backend/app/crud/crm/quote_product.py", "source_location": "L34"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_product_calculate_subtotal", "label": "calculate_subtotal()", "file_type": "code", "source_file": "backend/app/crud/crm/quote_product.py", "source_location": "L41"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_product_normalize_line_brand", "label": "normalize_line_brand()", "file_type": "code", "source_file": "backend/app/crud/crm/quote_product.py", "source_location": "L51"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_product_product_has_brands", "label": "product_has_brands()", "file_type": "code", "source_file": "backend/app/crud/crm/quote_product.py", "source_location": "L64"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_product_resolve_line_brand_fields", "label": "_resolve_line_brand_fields()", "file_type": "code", "source_file": "backend/app/crud/crm/quote_product.py", "source_location": "L76"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_product_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "backend/app/crud/crm/quote_product.py", "source_location": "L97"}, {"id": "crmquoteproduct", "label": "CrmQuoteProduct", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_product.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_product_product_row_to_dict", "label": "product_row_to_dict()", "file_type": "code", "source_file": "backend/app/crud/crm/quote_product.py", "source_location": "L128"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_product_list_quote_products", "label": "list_quote_products()", "file_type": "code", "source_file": "backend/app/crud/crm/quote_product.py", "source_location": "L132"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_product_list_products_by_quote_ids", "label": "list_products_by_quote_ids()", "file_type": "code", "source_file": "backend/app/crud/crm/quote_product.py", "source_location": "L154"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_product_get_quote_product", "label": "get_quote_product()", "file_type": "code", "source_file": "backend/app/crud/crm/quote_product.py", "source_location": "L184"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_product_insert_quote_product", "label": "insert_quote_product()", "file_type": "code", "source_file": "backend/app/crud/crm/quote_product.py", "source_location": "L192"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_product_update_quote_product", "label": "update_quote_product()", "file_type": "code", "source_file": "backend/app/crud/crm/quote_product.py", "source_location": "L271"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_product_soft_delete_quote_products", "label": "soft_delete_quote_products()", "file_type": "code", "source_file": "backend/app/crud/crm/quote_product.py", "source_location": "L335"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_product_batch_insert_quote_products", "label": "batch_insert_quote_products()", "file_type": "code", "source_file": "backend/app/crud/crm/quote_product.py", "source_location": "L369"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_product_deleteLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_json", "label": "tsconfig.json", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions", "label": "compilerOptions", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L2"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions_target", "label": "target", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L3"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions_usedefineforclassfields", "label": "useDefineForClassFields", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L4"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions_module", "label": "module", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L5"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions_lib", "label": "lib", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L6"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions_skiplibcheck", "label": "skipLibCheck", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L7"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions_moduleresolution", "label": "moduleResolution", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L8"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions_allowimportingtsextensions", "label": "allowImportingTsExtensions", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L9"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions_resolvejsonmodule", "label": "resolveJsonModule", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L10"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions_isolatedmodules", "label": "isolatedModules", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L11"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions_noemit", "label": "noEmit", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L12"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions_jsx", "label": "jsx", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L13"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions_strict", "label": "strict", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L14"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions_nounusedlocals", "label": "noUnusedLocals", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L15"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions_nounusedparameters", "label": "noUnusedParameters", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L16"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions_nofallthroughcasesinswitch", "label": "noFallthroughCasesInSwitch", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L17"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions_baseurl", "label": "baseUrl", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L18"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions_paths", "label": "paths", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L19"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_paths", "label": "@/*", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L20"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_include", "label": "include", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L23"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_references", "label": "references", "file_type": "code", "source_file": "bx-mobile/tsconfig.json", "source_location": "L24"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_json", "target": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bx-mobile/tsconfig.json", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_compileroptions", "target": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tscLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_prod_deploy_release_design_md", "label": "2026-08-08-prod-deploy-release-design.md", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-prod-deploy-release-design.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_prod_deploy_release_design_\u751f\u4ea7\u4e00\u952e\u53d1\u7248\u811a\u672c\u8bbe\u8ba1", "label": "\u751f\u4ea7\u4e00\u952e\u53d1\u7248\u811a\u672c\u8bbe\u8ba1", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-prod-deploy-release-design.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_prod_deploy_release_design_\u76ee\u6807", "label": "\u76ee\u6807", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-prod-deploy-release-design.md", "source_location": "L6"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_prod_deploy_release_design_\u6d41\u7a0b", "label": "\u6d41\u7a0b", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-prod-deploy-release-design.md", "source_location": "L10"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_prod_deploy_release_design_\u7ea6\u675f", "label": "\u7ea6\u675f", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-prod-deploy-release-design.md", "source_location": "L21"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_prod_deploy_release_design_md", "target": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_prod_deploy_release_design_\u751f\u4ea7\u4e00\u952e\u53d1\u7248\u811a\u672c\u8bbe\u8ba1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/superpowers/specs/2026-08-08-prod-deploy-release-design.md", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_prod_deploy_release_design_\u751f\u4ea7\u4e00\u952e\u53d1\u7248\u811a\u672c\u8bbe\u8ba1", "target": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_prod_deploy_release_design_\u76ee\u6807", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/superpowers/specs/2026-08-08-prod-deploy-release-design.md", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_prod_deploy_release_design_\u751f\u4ea7\u4e00\u952e\u53d1\u7248\u811a\u672c\u8bbe\u8ba1", "target": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_prod_deploy_release_design_\u6d41\u7a0b", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/superpowers/specs/2026-08-08-prod-deploy-release-design.md", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_prod_deploy_release_design_\u751f\u4ea7\u4e00\u952e\u53d1\u7248\u811a\u672c\u8bbe\u8ba1", "target": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_prod_deploy_release_design_\u7ea6\u675f", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/superpowers/specs/2026-08-08-prod-deploy-release-design.md", "source_location": "L21", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "label": "contract.py", "file_type": "code", "source_file": "backend/app/crud/crm/contract.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "label": "_ensure_contract_in_scope()", "file_type": "code", "source_file": "backend/app/crud/crm/contract.py", "source_location": "L51"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "crmcontract", "label": "CrmContract", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "label": "_get_contract_row_in_scope()", "file_type": "code", "source_file": "backend/app/crud/crm/contract.py", "source_location": "L55"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_total_pages", "label": "total_pages()", "file_type": "code", "source_file": "backend/app/crud/crm/contract.py", "source_location": "L72"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "label": "_decimal_value()", "file_type": "code", "source_file": "backend/app/crud/crm/contract.py", "source_location": "L78"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "decimal", "label": "Decimal", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "label": "_parse_optional_date()", "file_type": "code", "source_file": "backend/app/crud/crm/contract.py", "source_location": "L86"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "label": "_parse_optional_datetime()", "file_type": "code", "source_file": "backend/app/crud/crm/contract.py", "source_location": "L104"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "label": "_get_field()", "file_type": "code", "source_file": "backend/app/crud/crm/contract.py", "source_location": "L120"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "label": "_resolve_user_display_name()", "file_type": "code", "source_file": "backend/app/crud/crm/contract.py", "source_location": "L127"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "label": "_is_blank()", "file_type": "code", "source_file": "backend/app/crud/crm/contract.py", "source_location": "L137"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "label": "_first_non_blank()", "file_type": "code", "source_file": "backend/app/crud/crm/contract.py", "source_location": "L141"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "label": "_get_default_invoice_info()", "file_type": "code", "source_file": "backend/app/crud/crm/contract.py", "source_location": "L149"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "label": "_build_customer_address()", "file_type": "code", "source_file": "backend/app/crud/crm/contract.py", "source_location": "L159"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "backend/app/crud/crm/contract.py", "source_location": "L171"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "label": "contract_row_to_dict()", "file_type": "code", "source_file": "backend/app/crud/crm/contract.py", "source_location": "L250"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "label": "_build_contract_filters()", "file_type": "code", "source_file": "backend/app/crud/crm/contract.py", "source_location": "L254"}, {"id": "query", "label": "Query", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_py", "label": "crm_models.py", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmproductcategory", "label": "CrmProductCategory", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L21"}, {"id": "base", "label": "Base", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmproduct", "label": "CrmProduct", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L43"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmproductbrand", "label": "CrmProductBrand", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L79"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmproductalias", "label": "CrmProductAlias", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L99"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_sysoss", "label": "SysOss", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L118"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcustomer", "label": "CrmCustomer", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L150"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontact", "label": "CrmContact", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L234"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crminvoiceinfo", "label": "CrmInvoiceInfo", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L269"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcustomerfollow", "label": "CrmCustomerFollow", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L297"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcustomerpool", "label": "CrmCustomerPool", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L328"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcustomerpoolrule", "label": "CrmCustomerPoolRule", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L354"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmopportunity", "label": "CrmOpportunity", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L377"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmopportunityfollow", "label": "CrmOpportunityFollow", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L420"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmopportunityproduct", "label": "CrmOpportunityProduct", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L451"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmopportunitystagelog", "label": "CrmOpportunityStageLog", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L481"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontract", "label": "CrmContract", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L512"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontractapproversetting", "label": "CrmContractApproverSetting", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L597"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontractapproval", "label": "CrmContractApproval", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L616"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontractchange", "label": "CrmContractChange", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L647"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontracttemplate", "label": "CrmContractTemplate", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_location": "L678"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontractproduct", "label": "CrmContractProduct", "file_type": "code", "source_file": "backend/app/models/crm_models.py", "source_locatLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_init_py", "label": "__init__.py", "file_type": "code", "source_file": "backend/app/models/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_init_py", "target": "app_models_base", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/models/__init__.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_init_py", "target": "app_models_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/models/__init__.py", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_init_py", "target": "app_models_pl_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/models/__init__.py", "source_location": "L30", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_init_py", "callee": "SysUser", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/models/__init__.py", "source_location": "L61"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_init_py", "callee": "SysApiRequestLog", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/models/__init__.py", "source_location": "L62"}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "label": "quote.py", "file_type": "code", "source_file": "backend/app/crud/crm/quote.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_ensure_quote_in_scope", "label": "_ensure_quote_in_scope()", "file_type": "code", "source_file": "backend/app/crud/crm/quote.py", "source_location": "L42"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote.py"}, {"id": "crmquote", "label": "CrmQuote", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_get_quote_in_scope", "label": "_get_quote_in_scope()", "file_type": "code", "source_file": "backend/app/crud/crm/quote.py", "source_location": "L46"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_total_pages", "label": "total_pages()", "file_type": "code", "source_file": "backend/app/crud/crm/quote.py", "source_location": "L60"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_decimal_value", "label": "_decimal_value()", "file_type": "code", "source_file": "backend/app/crud/crm/quote.py", "source_location": "L66"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote.py"}, {"id": "decimal", "label": "Decimal", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_parse_optional_date", "label": "_parse_optional_date()", "file_type": "code", "source_file": "backend/app/crud/crm/quote.py", "source_location": "L74"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_parse_optional_datetime", "label": "_parse_optional_datetime()", "file_type": "code", "source_file": "backend/app/crud/crm/quote.py", "source_location": "L92"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_get_field", "label": "_get_field()", "file_type": "code", "source_file": "backend/app/crud/crm/quote.py", "source_location": "L108"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_resolve_user_display_name", "label": "_resolve_user_display_name()", "file_type": "code", "source_file": "backend/app/crud/crm/quote.py", "source_location": "L115"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "backend/app/crud/crm/quote.py", "source_location": "L125"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_quote_row_to_dict", "label": "quote_row_to_dict()", "file_type": "code", "source_file": "backend/app/crud/crm/quote.py", "source_location": "L177"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_build_quote_filters", "label": "_build_quote_filters()", "file_type": "code", "source_file": "backend/app/crud/crm/quote.py", "source_location": "L181"}, {"id": "query", "label": "Query", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_fill_contract_linked_count", "label": "_fill_contract_linked_count()", "file_type": "code", "source_file": "backend/app/crud/crm/quote.py", "source_location": "L323"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_calculate_quote_amount", "label": "calculate_quote_amount()", "file_type": "code", "source_file": "backend/app/crud/crm/quote.py", "source_location": "L345"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_resolve_quote_product_ids", "label": "_resolve_quote_product_ids()", "file_type": "code", "source_file": "backend/app/crud/crm/quote.py", "source_location": "L371"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_generate_quote_no", "label": "generate_quote_no()", "file_type": "code", "source_file": "backend/app/crud/crm/quote.py", "source_location": "L392"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_generate_quote_title", "label": "geLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_09_bx_mobile_shanxia2_adapt_md", "label": "2026-08-09-bx-mobile-shanxia2-adapt.md", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-09-bx-mobile-shanxia2-adapt.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_09_bx_mobile_shanxia2_adapt_bx_mobile_\u9002\u914d_shanxia2_0_implementation_plan", "label": "bx-mobile \u9002\u914d shanxia2.0 \u2014 Implementation Plan", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-09-bx-mobile-shanxia2-adapt.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_09_bx_mobile_shanxia2_adapt_\u6587\u4ef6\u7ed3\u6784", "label": "\u6587\u4ef6\u7ed3\u6784", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-09-bx-mobile-shanxia2-adapt.md", "source_location": "L15"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_09_bx_mobile_shanxia2_adapt_\u9636\u6bb5\u4e0e\u4efb\u52a1\u7d22\u5f15", "label": "\u9636\u6bb5\u4e0e\u4efb\u52a1\u7d22\u5f15", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-09-bx-mobile-shanxia2-adapt.md", "source_location": "L46"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_09_bx_mobile_shanxia2_adapt_p1_\u9274\u6743_\u6838\u5fc3\u5355\u636e", "label": "P1 \u2014 \u9274\u6743 + \u6838\u5fc3\u5355\u636e", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-09-bx-mobile-shanxia2-adapt.md", "source_location": "L56"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_09_bx_mobile_shanxia2_adapt_task_1_\u73af\u5883\u4ee3\u7406\u4e0e\u4f9d\u8d56", "label": "Task 1: \u73af\u5883\u4ee3\u7406\u4e0e\u4f9d\u8d56", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-09-bx-mobile-shanxia2-adapt.md", "source_location": "L58"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_09_bx_mobile_shanxia2_adapt_task_2_\u83dc\u5355\u76ee\u5f55\u4e0e\u6743\u9650\u7eaf\u51fd\u6570", "label": "Task 2: \u83dc\u5355\u76ee\u5f55\u4e0e\u6743\u9650\u7eaf\u51fd\u6570", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-09-bx-mobile-shanxia2-adapt.md", "source_location": "L101"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_09_bx_mobile_shanxia2_adapt_task_3_portalclient_rsa_\u767b\u5f55_api", "label": "Task 3: portalClient + RSA \u767b\u5f55 API", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-09-bx-mobile-shanxia2-adapt.md", "source_location": "L191"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_09_bx_mobile_shanxia2_adapt_task_4_bxclient_\u6539\u9020_api_index_ts_p1_\u6240\u9700", "label": "Task 4: bxClient + \u6539\u9020 `api/index.ts`\uff08P1 \u6240\u9700\uff09", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-09-bx-mobile-shanxia2-adapt.md", "source_location": "L307"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_09_bx_mobile_shanxia2_adapt_task_5_\u91cd\u5199_auth_store_loginpage", "label": "Task 5: \u91cd\u5199 auth store + LoginPage", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-09-bx-mobile-shanxia2-adapt.md", "source_location": "L434"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_09_bx_mobile_shanxia2_adapt_task_6_\u8def\u7531\u5b88\u536b_\u5220\u9664\u7528\u6237_\u89d2\u8272_\u83dc\u5355\u7ba1\u7406", "label": "Task 6: \u8def\u7531\u5b88\u536b + \u5220\u9664\u7528\u6237/\u89d2\u8272/\u83dc\u5355\u7ba1\u7406", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-09-bx-mobile-shanxia2-adapt.md", "source_location": "L544"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_09_bx_mobile_shanxia2_adapt_task_7_\u9996\u9875\u5165\u53e3\u6539\u4e3a_catalog", "label": "Task 7: \u9996\u9875\u5165\u53e3\u6539\u4e3a catalog", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-09-bx-mobile-shanxia2-adapt.md", "source_location": "L599"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_09_bx_mobile_shanxia2_adapt_task_8_\u4e1a\u52a1\u9875_uuid_\u4e0e_p1_\u95ed\u73af\u8054\u8c03", "label": "Task 8: \u4e1a\u52a1\u9875 UUID \u4e0e P1 \u95ed\u73af\u8054\u8c03", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-09-bx-mobile-shanxia2-adapt.md", "source_location": "L645"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_09_bx_mobile_shanxia2_adapt_p2_\u53d1\u7968\u5939\u5b8c\u6574\u95ed\u73af", "label": "P2 \u2014 \u53d1\u7968\u5939\u5b8c\u6574\u95ed\u73af", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-09-bx-mobile-shanxia2-adapt.md", "source_location": "L691"}, {"id": "users_Line truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_init_py", "label": "__init__.py", "file_type": "code", "source_file": "backend/app/schemas/pl/__init__.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_init_rationale_1", "label": "\u8fd0\u8f93\u8ba1\u5212\u7ba1\u7406 - Pydantic Schema", "file_type": "rationale", "source_file": "backend/app/schemas/pl/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_init_py", "target": "app_schemas_pl_base_data", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/schemas/pl/__init__.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_init_py", "target": "app_schemas_pl_plan", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/schemas/pl/__init__.py", "source_location": "L33", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_init_py", "target": "app_schemas_pl_transport", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/schemas/pl/__init__.py", "source_location": "L50", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_init_py", "target": "app_schemas_pl_freight", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/schemas/pl/__init__.py", "source_location": "L63", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_init_py", "target": "app_schemas_pl_inventory", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/schemas/pl/__init__.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_init_py", "target": "app_schemas_pl_vehicle_recharge", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/schemas/pl/__init__.py", "source_location": "L95", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_init_rationale_1", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/schemas/pl/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "label": "plan.py", "file_type": "code", "source_file": "backend/app/api/pl/plan.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_plan_resolve_list_product_name", "label": "_resolve_list_product_name()", "file_type": "code", "source_file": "backend/app/api/pl/plan.py", "source_location": "L102"}, {"id": "plplanproduct", "label": "PlPlanProduct", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/plan.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_plan_resolve_create_date", "label": "_resolve_create_date()", "file_type": "code", "source_file": "backend/app/api/pl/plan.py", "source_location": "L118"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/plan.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_plan_generate_plan_no", "label": "_generate_plan_no()", "file_type": "code", "source_file": "backend/app/api/pl/plan.py", "source_location": "L122"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/plan.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_plan_format_subpack_slip_no", "label": "_format_subpack_slip_no()", "file_type": "code", "source_file": "backend/app/api/pl/plan.py", "source_location": "L154"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_plan_normalize_subpack_slip_no", "label": "_normalize_subpack_slip_no()", "file_type": "code", "source_file": "backend/app/api/pl/plan.py", "source_location": "L158"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_plan_subpack_slip_no_seq", "label": "_subpack_slip_no_seq()", "file_type": "code", "source_file": "backend/app/api/pl/plan.py", "source_location": "L183"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_plan_ensure_subpack_slip_no", "label": "_ensure_subpack_slip_no()", "file_type": "code", "source_file": "backend/app/api/pl/plan.py", "source_location": "L191"}, {"id": "plplan", "label": "PlPlan", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/plan.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_plan_determine_plan_type", "label": "_determine_plan_type()", "file_type": "code", "source_file": "backend/app/api/pl/plan.py", "source_location": "L223"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_plan_get_plan_type_label", "label": "_get_plan_type_label()", "file_type": "code", "source_file": "backend/app/api/pl/plan.py", "source_location": "L228"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_plan_generate_notify_message", "label": "_generate_notify_message()", "file_type": "code", "source_file": "backend/app/api/pl/plan.py", "source_location": "L237"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_plan_plan_product_name_exists", "label": "_plan_product_name_exists()", "file_type": "code", "source_file": "backend/app/api/pl/plan.py", "source_location": "L257"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_plan_plan_plate_match", "label": "_plan_plate_match()", "file_type": "code", "source_file": "backend/app/api/pl/plan.py", "source_location": "L271"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_plan_list_plans", "label": "list_plans()", "file_type": "code", "source_file": "backend/app/api/pl/plan.py", "source_location": "L281"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/plan.py"}, {"id": "planlistresponse", "label": "PlanListResponse", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/plan.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_plan_count_plans_by_contract", "label": "count_plans_by_contract()", "file_type": "code", "source_file": "backend/app/api/pl/plan.py", "source_location": "L457"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_plan_create_plan", "label": "create_plan()", "file_type": "code", "source_file": "backend/app/api/pl/plan.py", "source_location": "L511"}, {"id": "plancreate", "label": "PlanCreate", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/plan.py"}, {"id": "planread", "label": "PlanRead", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_json", "label": "tsconfig.node.json", "file_type": "code", "source_file": "bx-mobile/tsconfig.node.json", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_compileroptions", "label": "compilerOptions", "file_type": "code", "source_file": "bx-mobile/tsconfig.node.json", "source_location": "L2"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_compileroptions_composite", "label": "composite", "file_type": "code", "source_file": "bx-mobile/tsconfig.node.json", "source_location": "L3"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_compileroptions_skiplibcheck", "label": "skipLibCheck", "file_type": "code", "source_file": "bx-mobile/tsconfig.node.json", "source_location": "L4"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_compileroptions_module", "label": "module", "file_type": "code", "source_file": "bx-mobile/tsconfig.node.json", "source_location": "L5"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_compileroptions_moduleresolution", "label": "moduleResolution", "file_type": "code", "source_file": "bx-mobile/tsconfig.node.json", "source_location": "L6"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_compileroptions_allowsyntheticdefaultimports", "label": "allowSyntheticDefaultImports", "file_type": "code", "source_file": "bx-mobile/tsconfig.node.json", "source_location": "L7"}, {"id": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_include", "label": "include", "file_type": "code", "source_file": "bx-mobile/tsconfig.node.json", "source_location": "L9"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_json", "target": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_compileroptions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bx-mobile/tsconfig.node.json", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_compileroptions", "target": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_compileroptions_composite", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bx-mobile/tsconfig.node.json", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_compileroptions", "target": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_compileroptions_skiplibcheck", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bx-mobile/tsconfig.node.json", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_compileroptions", "target": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_compileroptions_module", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bx-mobile/tsconfig.node.json", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_compileroptions", "target": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_compileroptions_moduleresolution", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bx-mobile/tsconfig.node.json", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_compileroptions", "target": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_compileroptions_allowsyntheticdefaultimports", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bx-mobile/tsconfig.node.json", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_json", "target": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_include", "relation": "contains", "confidence": "EXTRACTED", "source_file": "bx-mobile/tsconfig.node.json", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_bx_mobile_tsconfig_node_include", "target": "ref_vite_config_ts", "relation": "extends", "confidence": "EXTRACTED", "source_file": "bx-mobile/tsconfig.node.json", "source_location": "L9", "weight": 1.0, "context": "import"}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_20260808_pl_plan_legacy_party_contracts_py", "label": "migrate_20260808_pl_plan_legacy_party_contracts.py", "file_type": "code", "source_file": "backend/scripts/migrate_20260808_pl_plan_legacy_party_contracts.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_20260808_pl_plan_legacy_party_contracts_resolve_side", "label": "_resolve_side()", "file_type": "code", "source_file": "backend/scripts/migrate_20260808_pl_plan_legacy_party_contracts.py", "source_location": "L32"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_20260808_pl_plan_legacy_party_contracts_has_text", "label": "_has_text()", "file_type": "code", "source_file": "backend/scripts/migrate_20260808_pl_plan_legacy_party_contracts.py", "source_location": "L36"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_20260808_pl_plan_legacy_party_contracts_main", "label": "main()", "file_type": "code", "source_file": "backend/scripts/migrate_20260808_pl_plan_legacy_party_contracts.py", "source_location": "L40"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_20260808_pl_plan_legacy_party_contracts_py", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_20260808_pl_plan_legacy_party_contracts.py", "source_location": "L18", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_20260808_pl_plan_legacy_party_contracts_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_20260808_pl_plan_legacy_party_contracts.py", "source_location": "L19", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_20260808_pl_plan_legacy_party_contracts_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_20260808_pl_plan_legacy_party_contracts.py", "source_location": "L20", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_20260808_pl_plan_legacy_party_contracts_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_20260808_pl_plan_legacy_party_contracts.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_20260808_pl_plan_legacy_party_contracts_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_20260808_pl_plan_legacy_party_contracts.py", "source_location": "L27", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_20260808_pl_plan_legacy_party_contracts_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_20260808_pl_plan_legacy_party_contracts.py", "source_location": "L28", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_20260808_pl_plan_legacy_party_contracts_py", "target": "app_models_pl_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_20260808_pl_plan_legacy_party_contracts.py", "source_location": "L29", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_20260808_pl_plan_legacy_party_contracts_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_20260808_pl_plan_legacy_party_contracts_resolve_side", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_20260808_pl_plan_legacy_party_contracts.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_20260808_pl_plan_legacy_party_contracts_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_20260808_pl_plan_legacy_party_contracts_has_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_20260808_pl_plan_legacy_party_contracts.py", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_20260808_pl_plan_legacy_party_contracts_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_20260808_pl_plan_legacy_party_contracts_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_20260808_pl_plan_legacy_party_contracts.py", "source_location": "L40", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_20260808_pl_plan_legacy_party_contracts_main", "target": "users_wuzilong_work_Line truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_py", "label": "pl_models.py", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_plcarrier", "label": "PlCarrier", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L28"}, {"id": "base", "label": "Base", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_plvehicle", "label": "PlVehicle", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L57"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_plpersonnel", "label": "PlPersonnel", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L84"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_pltransportaddress", "label": "PlTransportAddress", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L119"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_plcert", "label": "PlCert", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L143"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_pldriver", "label": "PlDriver", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L169"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_plvehiclepersonnel", "label": "PlVehiclePersonnel", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L195"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_plvehicledriver", "label": "PlVehicleDriver", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L216"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_plplan", "label": "PlPlan", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L241"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_plplancontract", "label": "PlPlanContract", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L348"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_plplanproduct", "label": "PlPlanProduct", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L370"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_plplanproductbrandqty", "label": "PlPlanProductBrandQty", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L429"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_plplanchange", "label": "PlPlanChange", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L451"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_pltransport", "label": "PlTransport", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L478"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_pltransportproductfeedback", "label": "PlTransportProductFeedback", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L540"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_pltransportproductbrandqty", "label": "PlTransportProductBrandQty", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L561"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_pltransportdblink", "label": "PlTransportDbLink", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L584"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_plplantransport", "label": "PlPlanTransport", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L607"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_pltransportsitelink", "label": "PlTransportSiteLink", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L626"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_plinboundorder", "label": "PlInboundOrder", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L659"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_plinboundorderitem", "label": "PlInboundOrderItem", "file_type": "code", "source_file": "backend/app/models/pl_models.py", "source_location": "L689"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_pl_models_plinboundorderitLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "label": "pl_plan_service.py", "file_type": "code", "source_file": "backend/app/services/pl_plan_service.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_plan_service_determine_plan_type", "label": "determine_plan_type()", "file_type": "code", "source_file": "backend/app/services/pl_plan_service.py", "source_location": "L49"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_plan_service_is_ton_product_unit", "label": "is_ton_product_unit()", "file_type": "code", "source_file": "backend/app/services/pl_plan_service.py", "source_location": "L57"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_plan_service_product_quantity", "label": "_product_quantity()", "file_type": "code", "source_file": "backend/app/services/pl_plan_service.py", "source_location": "L64"}, {"id": "planproductcreate", "label": "PlanProductCreate", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py"}, {"id": "decimal", "label": "Decimal", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_plan_service_product_create_actual_qty", "label": "_product_create_actual_qty()", "file_type": "code", "source_file": "backend/app/services/pl_plan_service.py", "source_location": "L74"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_plan_service_plan_product_actual_qty", "label": "_plan_product_actual_qty()", "file_type": "code", "source_file": "backend/app/services/pl_plan_service.py", "source_location": "L80"}, {"id": "plplanproduct", "label": "PlPlanProduct", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_plan_service_sum_product_actual_quantities", "label": "sum_product_actual_quantities()", "file_type": "code", "source_file": "backend/app/services/pl_plan_service.py", "source_location": "L86"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_plan_service_sum_plan_product_actual_quantities", "label": "sum_plan_product_actual_quantities()", "file_type": "code", "source_file": "backend/app/services/pl_plan_service.py", "source_location": "L90"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_plan_service_estimate_qty_fields", "label": "_estimate_qty_fields()", "file_type": "code", "source_file": "backend/app/services/pl_plan_service.py", "source_location": "L94"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_plan_service_build_plan_product", "label": "build_plan_product()", "file_type": "code", "source_file": "backend/app/services/pl_plan_service.py", "source_location": "L105"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_plan_service_apply_vehicle_snapshot_to_plan_transport", "label": "_apply_vehicle_snapshot_to_plan_transport()", "file_type": "code", "source_file": "backend/app/services/pl_plan_service.py", "source_location": "L155"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py"}, {"id": "plplan", "label": "PlPlan", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py"}, {"id": "pltransport", "label": "PlTransport", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py"}, {"id": "plvehicle", "label": "PlVehicle", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_plan_service_resolve_driver", "label": "_resolve_driver()", "file_type": "code", "source_file": "backend/app/services/pl_plan_service.py", "source_location": "L173"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_plan_service_calc_freight_amount", "label": "_calc_freight_amount()", "file_type": "code", "source_file": "backend/app/services/pl_plan_service.py", "source_location": "L219"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_plan_service_fetch_hazard_flags_map", "label": "fetch_hazard_flags_map()", "file_type": "code", "source_file": "backend/app/services/pl_plan_service.py", "source_location": "L240"}, {"id": "users_wuzilong_work_00coLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_09_bx_mobile_shanxia2_adapt_design_md", "label": "2026-08-09-bx-mobile-shanxia2-adapt-design.md", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-09-bx-mobile-shanxia2-adapt-design.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_09_bx_mobile_shanxia2_adapt_design_bx_mobile_\u9002\u914d_shanxia2_0_\u8bbe\u8ba1\u6587\u6863", "label": "bx-mobile \u9002\u914d shanxia2.0 \u2014 \u8bbe\u8ba1\u6587\u6863", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-09-bx-mobile-shanxia2-adapt-design.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_09_bx_mobile_shanxia2_adapt_design_\u80cc\u666f", "label": "\u80cc\u666f", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-09-bx-mobile-shanxia2-adapt-design.md", "source_location": "L8"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_09_bx_mobile_shanxia2_adapt_design_\u5df2\u786e\u8ba4\u51b3\u7b56", "label": "\u5df2\u786e\u8ba4\u51b3\u7b56", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-09-bx-mobile-shanxia2-adapt-design.md", "source_location": "L18"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_09_bx_mobile_shanxia2_adapt_design_\u65b9\u6848\u9009\u62e9", "label": "\u65b9\u6848\u9009\u62e9", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-09-bx-mobile-shanxia2-adapt-design.md", "source_location": "L33"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_09_bx_mobile_shanxia2_adapt_design_\u4e00_\u67b6\u6784\u4e0e\u9636\u6bb5\u8fb9\u754c", "label": "\u4e00\u3001\u67b6\u6784\u4e0e\u9636\u6bb5\u8fb9\u754c", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-09-bx-mobile-shanxia2-adapt-design.md", "source_location": "L45"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_09_bx_mobile_shanxia2_adapt_design_1_1_\u76ee\u6807\u5f62\u6001", "label": "1.1 \u76ee\u6807\u5f62\u6001", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-09-bx-mobile-shanxia2-adapt-design.md", "source_location": "L47"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_09_bx_mobile_shanxia2_adapt_design_1_2_\u83dc\u5355\u6620\u5c04\u539f\u5219", "label": "1.2 \u83dc\u5355\u6620\u5c04\u539f\u5219", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-09-bx-mobile-shanxia2-adapt-design.md", "source_location": "L67"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_09_bx_mobile_shanxia2_adapt_design_1_3_\u4e09\u9636\u6bb5\u9a8c\u6536\u76ee\u6807", "label": "1.3 \u4e09\u9636\u6bb5\u9a8c\u6536\u76ee\u6807", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-09-bx-mobile-shanxia2-adapt-design.md", "source_location": "L83"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_09_bx_mobile_shanxia2_adapt_design_1_4_\u5de5\u7a0b\u843d\u70b9_bx_mobile", "label": "1.4 \u5de5\u7a0b\u843d\u70b9\uff08bx-mobile\uff09", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-09-bx-mobile-shanxia2-adapt-design.md", "source_location": "L91"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_09_bx_mobile_shanxia2_adapt_design_\u4e8c_\u9274\u6743_\u83dc\u5355_\u8def\u7531\u5b88\u536b", "label": "\u4e8c\u3001\u9274\u6743 / \u83dc\u5355 / \u8def\u7531\u5b88\u536b", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-09-bx-mobile-shanxia2-adapt-design.md", "source_location": "L100"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_09_bx_mobile_shanxia2_adapt_design_2_1_\u767b\u5f55\u4e0e\u4f1a\u8bdd", "label": "2.1 \u767b\u5f55\u4e0e\u4f1a\u8bdd", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-09-bx-mobile-shanxia2-adapt-design.md", "source_location": "L102"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_09_bx_mobile_shanxia2_adapt_design_2_2_http_\u5ba2\u6237\u7aef", "label": "2.2 HTTP \u5ba2\u6237\u7aef", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-09-bx-mobile-shanxia2-adapt-design.md", "source_location": "L119"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_09_bx_mobile_shanxia2_adapt_design_2_3_\u83dc\u5355_\u9996\u9875\u5165\u53e3", "label": "2.3 \u83dc\u5355 \u2192 \u9996\u9875\u5165\u53e3", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-09-bx-mobile-shanxia2-adapt-design.md", "source_location": "L126"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_09_bx_mobile_shanxia2_adapt_design_2_4_\u8def\u7531\u5b88\u536b", "label": "2.4 \u8def\u7531\u5b88\u536b", "file_type"Line truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_deploy_release_sh", "label": "deploy-release.sh", "file_type": "code", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/deploy-release.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_deploy_release_sh__entry", "label": "deploy-release.sh script", "file_type": "code", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/deploy-release.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_deploy_release_log_info", "label": "log_info()", "file_type": "code", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/deploy-release.sh", "source_location": "L55", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_deploy_release_log_warn", "label": "log_warn()", "file_type": "code", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/deploy-release.sh", "source_location": "L56", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_deploy_release_log_err", "label": "log_err()", "file_type": "code", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/deploy-release.sh", "source_location": "L57", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_deploy_release_die", "label": "die()", "file_type": "code", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/deploy-release.sh", "source_location": "L59", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_deploy_release_require_cmd", "label": "require_cmd()", "file_type": "code", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/deploy-release.sh", "source_location": "L64", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_deploy_release_parse_credentials", "label": "parse_credentials()", "file_type": "code", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/deploy-release.sh", "source_location": "L80", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_deploy_release_sshpass", "label": "SSHPASS", "file_type": "code", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/deploy-release.sh", "source_location": "L119", "metadata": {"language": "bash", "kind": "code"}}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_deploy_release_remote_ssh", "label": "remote_ssh()", "file_type": "code", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/deploy-release.sh", "source_location": "L122", "metadata": {"language": "bash", "kind": "bash_function"}}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_deploy_release_remote_rsync", "label": "remote_rsync()", "file_type": "code", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/deploy-release.sh", "source_location": "L126", "metadata": {"language": "bash", "kind": "bash_function"}}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_deploy_release_sh", "target": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_deploy_release_sh__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/deploy-release.sh", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_deploy_release_sh", "target": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_deploy_release_log_info", "relation": "defines", "confidence": "EXTRACTED", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/deploy-release.sh", "source_location": "L55", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_deploy_release_sh", "target": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_deploy_release_log_warn", "relation": "defines", "confidence": "EXTRACTED", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/deploy-release.sh", "source_location": "L56", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_deploy_release_sh", "target": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_deploy_release_log_err", "relation": "defines", "confidence": "EXTRACTED", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/deploy-release.sh", "source_location": "L57", "weiLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "label": "crm_contract_routes.py", "file_type": "code", "source_file": "backend/app/api/crm_contract_routes.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_register_contract_routes", "label": "register_contract_routes()", "file_type": "code", "source_file": "backend/app/api/crm_contract_routes.py", "source_location": "L78"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_rationale_1", "label": "CRM \u5408\u540c API \u8def\u7531 \u2014 GET/PUT/DELETE/POST \u5bf9\u9f50\u539f Java CRM", "file_type": "rationale", "source_file": "backend/app/api/crm_contract_routes.py", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/crm_contract_routes.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/crm_contract_routes.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/crm_contract_routes.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/crm_contract_routes.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/crm_contract_routes.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_core_menu_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/crm_contract_routes.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_core_oper_log_decorator", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/crm_contract_routes.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_core_response", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/crm_contract_routes.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_core_tenant_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/crm_contract_routes.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_crud_crm_data_scope_helpers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/crm_contract_routes.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_crud_crm_contract", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/crm_contract_routes.py", "source_location": "L16", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_crud_crm_contract_approval", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/crm_contract_routes.py", "source_location": "L47", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_crud_crm_contract_approver_setting", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/crm_contract_routes.py", "source_location": "L51", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_crud_crm_contract_approver_setting", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/crm_contract_routes.py", "source_location": "L5Line truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_py", "label": "crm_quote_pdf.py", "file_type": "code", "source_file": "backend/app/services/crm_quote_pdf.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_default_value", "label": "_default_value()", "file_type": "code", "source_file": "backend/app/services/crm_quote_pdf.py", "source_location": "L15"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_format_date", "label": "_format_date()", "file_type": "code", "source_file": "backend/app/services/crm_quote_pdf.py", "source_location": "L19"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/crm_quote_pdf.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_format_money", "label": "_format_money()", "file_type": "code", "source_file": "backend/app/services/crm_quote_pdf.py", "source_location": "L32"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_format_discount", "label": "_format_discount()", "file_type": "code", "source_file": "backend/app/services/crm_quote_pdf.py", "source_location": "L39"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_get_pdf_styles", "label": "_get_pdf_styles()", "file_type": "code", "source_file": "backend/app/services/crm_quote_pdf.py", "source_location": "L49"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_build_quote_html", "label": "build_quote_html()", "file_type": "code", "source_file": "backend/app/services/crm_quote_pdf.py", "source_location": "L99"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_generate_quote_pdf", "label": "generate_quote_pdf()", "file_type": "code", "source_file": "backend/app/services/crm_quote_pdf.py", "source_location": "L188"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_rationale_1", "label": "CRM \u62a5\u4ef7\u5355 PDF/HTML \u751f\u6210 \u2014 \u5bf9\u7167 CrmQuotePdfServiceImpl.java", "file_type": "rationale", "source_file": "backend/app/services/crm_quote_pdf.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_rationale_189", "label": "Java: generateQuotePdf \u2014 \u751f\u6210 HTML \u6587\u4ef6\uff08\u6269\u5c55\u540d .pdf\uff09\uff0c\u8fd4\u56de\u76f8\u5bf9 URL\u3002 \u63a5\u53d7 quote dict + prod", "file_type": "rationale", "source_file": "backend/app/services/crm_quote_pdf.py", "source_location": "L189"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/services/crm_quote_pdf.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/services/crm_quote_pdf.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_py", "target": "decimal", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/services/crm_quote_pdf.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/services/crm_quote_pdf.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/services/crm_quote_pdf.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_py", "target": "app_core_config", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/services/crm_quote_pdf.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_default_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/services/crm_quote_pdf.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_crm_quote_pdf_format_date", "relation": "contLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_py", "label": "contract.py", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contractproductpricetieritem", "label": "ContractProductPriceTierItem", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L8"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contractproductitem", "label": "ContractProductItem", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L23"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contractlistquery", "label": "ContractListQuery", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L55"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contractcreatebody", "label": "ContractCreateBody", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L85"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contractupdatebody", "label": "ContractUpdateBody", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L149"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contractsubmitbody", "label": "ContractSubmitBody", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L153"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contractbatchsubmitbody", "label": "ContractBatchSubmitBody", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L159"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contractwithdrawbody", "label": "ContractWithdrawBody", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L165"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contractstatusbody", "label": "ContractStatusBody", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L170"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contractinvalidbody", "label": "ContractInvalidBody", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L175"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contracttemplatesavebody", "label": "ContractTemplateSaveBody", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L181"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contractdeletebody", "label": "ContractDeleteBody", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L187"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contractapprovalactionbody", "label": "ContractApprovalActionBody", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L191"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contractuploadfilebody", "label": "ContractUploadFileBody", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L203"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contractuploadattachmentsbody", "label": "ContractUploadAttachmentsBody", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L208"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contractexportbody", "label": "ContractExportBody", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L216"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contractstatisticsoverviewquery", "label": "ContractStatisticsOverviewQuery", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L221"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contractstatisticstrendquery", "label": "ContractStatisticsTrendQuery", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L227"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contractrenewbody", "label": "ContractRenewBody", "file_type": "code", "source_file": "backend/app/schemas/crm/contract.py", "source_location": "L233"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_contractapprovaLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_public_py", "label": "public.py", "file_type": "code", "source_file": "backend/app/api/public.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_public_avatar_url_field", "label": "_avatar_url_field()", "file_type": "code", "source_file": "backend/app/api/public.py", "source_location": "L39"}, {"id": "sysuser", "label": "SysUser", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/public.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_public_web_role_list", "label": "_web_role_list()", "file_type": "code", "source_file": "backend/app/api/public.py", "source_location": "L47"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_public_build_user_info_payload", "label": "_build_user_info_payload()", "file_type": "code", "source_file": "backend/app/api/public.py", "source_location": "L53"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_public_jwt_user_payload", "label": "_jwt_user_payload()", "file_type": "code", "source_file": "backend/app/api/public.py", "source_location": "L71"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_public_web_login_rsa_public_key", "label": "web_login_rsa_public_key()", "file_type": "code", "source_file": "backend/app/api/public.py", "source_location": "L84"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_public_web_login", "label": "web_login()", "file_type": "code", "source_file": "backend/app/api/public.py", "source_location": "L91"}, {"id": "request", "label": "Request", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/public.py"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/public.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_public_refresh_token", "label": "refresh_token()", "file_type": "code", "source_file": "backend/app/api/public.py", "source_location": "L149"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_public_logout", "label": "logout()", "file_type": "code", "source_file": "backend/app/api/public.py", "source_location": "L211"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_public_get_current_user_profile", "label": "get_current_user_profile()", "file_type": "code", "source_file": "backend/app/api/public.py", "source_location": "L228"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_public_get_web_auth_menu_codes", "label": "get_web_auth_menu_codes()", "file_type": "code", "source_file": "backend/app/api/public.py", "source_location": "L263"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_public_change_current_user_password", "label": "change_current_user_password()", "file_type": "code", "source_file": "backend/app/api/public.py", "source_location": "L312"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_public_public_quote_share", "label": "public_quote_share()", "file_type": "code", "source_file": "backend/app/api/public.py", "source_location": "L345"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_public_rationale_1", "label": "\u516c\u5171\u63a5\u53e3\uff08Web \u767b\u5f55\u3001\u5237\u65b0 Token\u3001\u767b\u51fa\uff1b\u7528\u6237\u6a21\u578b\u5bf9\u9f50 docs/sql/shanxia2.0.sql \u57fa\u7ebf\uff09", "file_type": "rationale", "source_file": "backend/app/api/public.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_public_rationale_48", "label": "\u4e0e web-admin \u9759\u6001\u8def\u7531 meta.roles\uff08admin/super_admin\uff09\u5bf9\u9f50\u7684\u5355\u5143\u7d20\u6570\u7ec4\u3002", "file_type": "rationale", "source_file": "backend/app/api/public.py", "source_location": "L48"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_public_rationale_54", "label": "\u4e0e web-admin `userInfo` \u5b57\u6bb5\u7ea6\u5b9a\u4e00\u81f4\u3002", "file_type": "rationale", "source_file": "backend/app/api/public.py", "source_location": "L54"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_public_rationale_85", "label": "Web \u7aef\u767b\u5f55\u7528 RSA \u516c\u94a5\uff08PKCS#1 v1.5\uff0c\u4e0e JSEncrypt \u4e00\u81f4\uff09", "file_type": "rationale", "source_file": "backend/app/api/public.py", "source_location": "L85"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_public_rationale_96", "label": "Web \u7aef\u767b\u5f55\uff1a\u8d26\u53f7\u4e3a sys_user.user_no\uff0c\u5bc6\u7801\u4e3a sys_user.password\uff08bcrypt\uff09\u3002", "file_type": "rationale", "source_file": "backend/app/api/public.py", "source_location": "L96"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_public_rationale_212",Line truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_crm_quote_reedit_to_draft_design_md", "label": "2026-08-08-crm-quote-reedit-to-draft-design.md", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-crm-quote-reedit-to-draft-design.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_crm_quote_reedit_to_draft_design_\u62a5\u4ef7\u5355\u7ba1\u7406_\u5df2\u63d0\u4ea4_\u5df2\u5ba1\u6279_\u5df2\u9a73\u56de\u53ef\u518d\u7f16\u8f91\u5e76\u56de\u8349\u7a3f", "label": "\u62a5\u4ef7\u5355\u7ba1\u7406\uff1a\u5df2\u63d0\u4ea4 / \u5df2\u5ba1\u6279 / \u5df2\u9a73\u56de\u53ef\u518d\u7f16\u8f91\u5e76\u56de\u8349\u7a3f", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-crm-quote-reedit-to-draft-design.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_crm_quote_reedit_to_draft_design_\u76ee\u6807", "label": "\u76ee\u6807", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-crm-quote-reedit-to-draft-design.md", "source_location": "L3"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_crm_quote_reedit_to_draft_design_\u53ef\u7f16\u8f91\u72b6\u6001", "label": "\u53ef\u7f16\u8f91\u72b6\u6001", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-crm-quote-reedit-to-draft-design.md", "source_location": "L9"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_crm_quote_reedit_to_draft_design_\u524d\u7aef\u884c\u4e3a", "label": "\u524d\u7aef\u884c\u4e3a", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-crm-quote-reedit-to-draft-design.md", "source_location": "L19"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_crm_quote_reedit_to_draft_design_\u6253\u5f00\u7f16\u8f91\u524d\u786e\u8ba4", "label": "\u6253\u5f00\u7f16\u8f91\u524d\u786e\u8ba4", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-crm-quote-reedit-to-draft-design.md", "source_location": "L21"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_crm_quote_reedit_to_draft_design_\u5165\u53e3", "label": "\u5165\u53e3", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-crm-quote-reedit-to-draft-design.md", "source_location": "L32"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_crm_quote_reedit_to_draft_design_\u672a\u4fdd\u5b58", "label": "\u672a\u4fdd\u5b58", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-crm-quote-reedit-to-draft-design.md", "source_location": "L41"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_crm_quote_reedit_to_draft_design_\u540e\u7aef\u884c\u4e3a_\u66f4\u65b0\u62a5\u4ef7\u5355", "label": "\u540e\u7aef\u884c\u4e3a\uff08\u66f4\u65b0\u62a5\u4ef7\u5355\uff09", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-crm-quote-reedit-to-draft-design.md", "source_location": "L45"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_crm_quote_reedit_to_draft_design_\u4e0d\u53d8\u8303\u56f4", "label": "\u4e0d\u53d8\u8303\u56f4", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-crm-quote-reedit-to-draft-design.md", "source_location": "L57"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_crm_quote_reedit_to_draft_design_\u6539\u52a8\u843d\u70b9_\u5b9e\u73b0\u65f6", "label": "\u6539\u52a8\u843d\u70b9\uff08\u5b9e\u73b0\u65f6\uff09", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-crm-quote-reedit-to-draft-design.md", "source_location": "L65"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_crm_quote_reedit_to_draft_design_\u9a8c\u6536\u8981\u70b9", "label": "\u9a8c\u6536\u8981\u70b9", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-crm-quote-reedit-to-draft-design.md", "source_location": "L71"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_crm_quote_reedit_to_draft_design_md", "target": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_crm_quote_reedit_to_draft_design_\u62a5\u4ef7\u5355\u7ba1\u7406_\u5df2\u63d0\u4ea4_\u5df2\u5ba1\u6279_\u5df2\u9a73\u56de\u53ef\u518d\u7f16\u8f91\u5e76\u56de\u8349\u7a3f", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/superpowers/specs/2026-08-08-crm-quote-reedit-to-draft-design.md", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_crm_quote_reedit_to_draft_design_\u62a5\u4ef7\u5355\u7ba1\u7406_\u5df2\u63d0\u4ea4_\u5df2\u5ba1\u6279_\u5df2\u9a73\u56de\u53ef\u518d\u7f16\u8f91\u5e76\u56de\u8349\u7a3f", "target": "users_wuzilongLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_crm_quote_reedit_to_draft_md", "label": "2026-08-08-crm-quote-reedit-to-draft.md", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-crm-quote-reedit-to-draft.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_crm_quote_reedit_to_draft_\u62a5\u4ef7\u5355\u518d\u7f16\u8f91\u56de\u8349\u7a3f_\u5b9e\u73b0\u8ba1\u5212", "label": "\u62a5\u4ef7\u5355\u518d\u7f16\u8f91\u56de\u8349\u7a3f \u2014 \u5b9e\u73b0\u8ba1\u5212", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-crm-quote-reedit-to-draft.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_crm_quote_reedit_to_draft_task_1_backend_update_quote", "label": "Task 1: Backend `update_quote`", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-crm-quote-reedit-to-draft.md", "source_location": "L9"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_crm_quote_reedit_to_draft_task_2_frontend_helper", "label": "Task 2: Frontend helper", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-crm-quote-reedit-to-draft.md", "source_location": "L15"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_crm_quote_reedit_to_draft_task_3_wire_ui_entries", "label": "Task 3: Wire UI entries", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-crm-quote-reedit-to-draft.md", "source_location": "L19"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_crm_quote_reedit_to_draft_md", "target": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_crm_quote_reedit_to_draft_\u62a5\u4ef7\u5355\u518d\u7f16\u8f91\u56de\u8349\u7a3f_\u5b9e\u73b0\u8ba1\u5212", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/superpowers/plans/2026-08-08-crm-quote-reedit-to-draft.md", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_crm_quote_reedit_to_draft_\u62a5\u4ef7\u5355\u518d\u7f16\u8f91\u56de\u8349\u7a3f_\u5b9e\u73b0\u8ba1\u5212", "target": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_crm_quote_reedit_to_draft_task_1_backend_update_quote", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/superpowers/plans/2026-08-08-crm-quote-reedit-to-draft.md", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_crm_quote_reedit_to_draft_\u62a5\u4ef7\u5355\u518d\u7f16\u8f91\u56de\u8349\u7a3f_\u5b9e\u73b0\u8ba1\u5212", "target": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_crm_quote_reedit_to_draft_task_2_frontend_helper", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/superpowers/plans/2026-08-08-crm-quote-reedit-to-draft.md", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_crm_quote_reedit_to_draft_\u62a5\u4ef7\u5355\u518d\u7f16\u8f91\u56de\u8349\u7a3f_\u5b9e\u73b0\u8ba1\u5212", "target": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_crm_quote_reedit_to_draft_task_3_wire_ui_entries", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/superpowers/plans/2026-08-08-crm-quote-reedit-to-draft.md", "source_location": "L19", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_readme_md", "label": "README.md", "file_type": "document", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/README.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_readme_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72\u65b9\u6848", "label": "shanxia2.0 \u751f\u4ea7\u73af\u5883\u90e8\u7f72\u65b9\u6848", "file_type": "document", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/README.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_readme_1_\u90e8\u7f72\u601d\u8def\u603b\u89c8", "label": "1. \u90e8\u7f72\u601d\u8def\u603b\u89c8", "file_type": "document", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/README.md", "source_location": "L8"}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_readme_1_1_\u67b6\u6784", "label": "1.1 \u67b6\u6784", "file_type": "document", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/README.md", "source_location": "L10"}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_readme_1_2_\u6838\u5fc3\u539f\u5219", "label": "1.2 \u6838\u5fc3\u539f\u5219", "file_type": "document", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/README.md", "source_location": "L30"}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_readme_1_3_\u76ee\u5f55\u7ea6\u5b9a_\u751f\u4ea7\u673a", "label": "1.3 \u76ee\u5f55\u7ea6\u5b9a\uff08\u751f\u4ea7\u673a\uff09", "file_type": "document", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/README.md", "source_location": "L41"}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_readme_2_\u524d\u7f6e\u6761\u4ef6", "label": "2. \u524d\u7f6e\u6761\u4ef6", "file_type": "document", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/README.md", "source_location": "L53"}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_readme_2_1_\u670d\u52a1\u5668\u8f6f\u4ef6", "label": "2.1 \u670d\u52a1\u5668\u8f6f\u4ef6", "file_type": "document", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/README.md", "source_location": "L55"}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_readme_2_2_\u7f51\u7edc\u4e0e\u9632\u706b\u5899", "label": "2.2 \u7f51\u7edc\u4e0e\u9632\u706b\u5899", "file_type": "document", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/README.md", "source_location": "L61"}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_readme_2_3_\u6570\u636e\u5e93", "label": "2.3 \u6570\u636e\u5e93", "file_type": "document", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/README.md", "source_location": "L67"}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_readme_3_\u90e8\u7f72\u6b65\u9aa4", "label": "3. \u90e8\u7f72\u6b65\u9aa4", "file_type": "document", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/README.md", "source_location": "L76"}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_readme_\u9636\u6bb5_a_\u51c6\u5907\u4ee3\u7801_\u672c\u5730\u6216_ci", "label": "\u9636\u6bb5 A\uff1a\u51c6\u5907\u4ee3\u7801\uff08\u672c\u5730\u6216 CI\uff09", "file_type": "document", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/README.md", "source_location": "L78"}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_readme_a1_\u68c0\u51fa_\u6253\u5305\u540e\u7aef", "label": "A1. \u68c0\u51fa/\u6253\u5305\u540e\u7aef", "file_type": "document", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/README.md", "source_location": "L80"}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_readme_a2_\u914d\u7f6e\u751f\u4ea7\u73af\u5883\u53d8\u91cf", "label": "A2. \u914d\u7f6e\u751f\u4ea7\u73af\u5883\u53d8\u91cf", "file_type": "document", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/README.md", "source_location": "L93"}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_readme_a3_\u6784\u5efa\u524d\u7aef", "label": "A3. \u6784\u5efa\u524d\u7aef", "file_type": "document", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/README.md", "source_location": "L104"}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_readme_\u9636\u6bb5_b_\u4e0a\u4f20\u5230\u751f\u4ea7\u673a", "label": "\u9636\u6bb5 B\uff1a\u4e0a\u4f20\u5230\u751f\u4ea7\u673a", "file_type": "document", "source_file": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72/README.md", "source_location": "L124"}, {"id": "users_wuzilong_work_00code_shanxia2_0_\u751f\u4ea7\u73af\u5883\u90e8\u7f72_readme_\u9636\u6bb5_c_\u540e\u7aef\u521d\u59cb\u5316\u4e0e\u542f\u52a8", "label": "\u9636\u6bb5 C\uff1a\u540e\u7aef\u521d\u59cb\u5316\u4e0e\u542f\u52a8", "fiLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_pl_plan_supplier_demander_free_product_design_md", "label": "2026-08-08-pl-plan-supplier-demander-free-product-design.md", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-pl-plan-supplier-demander-free-product-design.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_pl_plan_supplier_demander_free_product_design_\u8fd0\u8f93\u8ba1\u5212_\u4f9b\u65b9_\u9700\u65b9_\u5408\u540c\u591a\u9009_\u4ea7\u54c1\u81ea\u7531\u9009\u62e9", "label": "\u8fd0\u8f93\u8ba1\u5212\uff1a\u4f9b\u65b9/\u9700\u65b9 + \u5408\u540c\u591a\u9009 + \u4ea7\u54c1\u81ea\u7531\u9009\u62e9", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-pl-plan-supplier-demander-free-product-design.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_pl_plan_supplier_demander_free_product_design_1_\u76ee\u6807", "label": "1. \u76ee\u6807", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-pl-plan-supplier-demander-free-product-design.md", "source_location": "L7"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_pl_plan_supplier_demander_free_product_design_2_\u975e\u76ee\u6807", "label": "2. \u975e\u76ee\u6807", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-pl-plan-supplier-demander-free-product-design.md", "source_location": "L17"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_pl_plan_supplier_demander_free_product_design_3_\u4e1a\u52a1\u89c4\u5219", "label": "3. \u4e1a\u52a1\u89c4\u5219", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-pl-plan-supplier-demander-free-product-design.md", "source_location": "L25"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_pl_plan_supplier_demander_free_product_design_3_1_\u5ba2\u6237", "label": "3.1 \u5ba2\u6237", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-pl-plan-supplier-demander-free-product-design.md", "source_location": "L27"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_pl_plan_supplier_demander_free_product_design_3_2_\u5408\u540c_\u5206\u4fa7_\u53ef\u591a\u9009", "label": "3.2 \u5408\u540c\uff08\u5206\u4fa7\u3001\u53ef\u591a\u9009\uff09", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-pl-plan-supplier-demander-free-product-design.md", "source_location": "L39"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_pl_plan_supplier_demander_free_product_design_3_3_\u4ea7\u54c1", "label": "3.3 \u4ea7\u54c1", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-pl-plan-supplier-demander-free-product-design.md", "source_location": "L63"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_pl_plan_supplier_demander_free_product_design_3_4_\u5f52\u5c5e\u516c\u53f8\u4e0e\u5176\u5b83\u57fa\u7840\u5b57\u6bb5", "label": "3.4 \u5f52\u5c5e\u516c\u53f8\u4e0e\u5176\u5b83\u57fa\u7840\u5b57\u6bb5", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-pl-plan-supplier-demander-free-product-design.md", "source_location": "L70"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_pl_plan_supplier_demander_free_product_design_3_5_\u5386\u53f2\u6570\u636e", "label": "3.5 \u5386\u53f2\u6570\u636e", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-pl-plan-supplier-demander-free-product-design.md", "source_location": "L75"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_pl_plan_supplier_demander_free_product_design_4_\u4ea4\u4e92\u7ed3\u6784_\u65b0\u5efa_\u7f16\u8f91\u5f39\u7a97", "label": "4. \u4ea4\u4e92\u7ed3\u6784\uff08\u65b0\u5efa/\u7f16\u8f91\u5f39\u7a97\uff09", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-pl-plan-supplier-demander-free-product-design.md", "source_location": "L90"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_pl_plan_supplier_demander_free_product_design_5_\u6570\u636e\u6a21\u578b", "label": "5. \u6570\u636e\u6a21\u578b", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-pl-plan-supplier-demander-free-product-design.md", "source_location": "L112"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_specs_2026_08_08_pl_plan_supplier_demander_free_product_design_5_1_\u4e3b\u8868\u5b57\u6bb5\u8bed\u4e49\u8c03\u6574_pl_plan", "label": "5.1 \u4e3b\u8868\u5b57\u6bb5\u8bed\u4e49\u8c03\u6574\uff08`pl_plan`\uff09", "file_type": "document", "source_file": "docs/superpowers/specs/2026-08-08-pl-plan-supplier-demander-free-product-design.md", "source_location": "L114"}, {"id": "users_wuzilong_work_00code_shanLine truncated
@@ -0,0 +1 @@
{"nodes": [], "edges": [], "skipped": "data json (not a config/manifest)"}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_quote_contract_approval_menus_md", "label": "2026-08-08-quote-contract-approval-menus.md", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-quote-contract-approval-menus.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_quote_contract_approval_menus_\u62a5\u4ef7\u5355_\u5408\u540c\u5ba1\u6279\u83dc\u5355\u62c6\u5206_implementation_plan", "label": "\u62a5\u4ef7\u5355/\u5408\u540c\u5ba1\u6279\u83dc\u5355\u62c6\u5206 Implementation Plan", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-quote-contract-approval-menus.md", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_quote_contract_approval_menus_task_1_\u62a5\u4ef7\u5355\u5217\u8868\u7ec4\u4ef6\u5316_\u53cc\u5165\u53e3", "label": "Task 1: \u62a5\u4ef7\u5355\u5217\u8868\u7ec4\u4ef6\u5316 + \u53cc\u5165\u53e3", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-quote-contract-approval-menus.md", "source_location": "L19"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_quote_contract_approval_menus_task_2_\u5408\u540c\u5217\u8868\u7ec4\u4ef6\u5316_\u53cc\u5165\u53e3", "label": "Task 2: \u5408\u540c\u5217\u8868\u7ec4\u4ef6\u5316 + \u53cc\u5165\u53e3", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-quote-contract-approval-menus.md", "source_location": "L32"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_quote_contract_approval_menus_task_3_\u83dc\u5355_sql_\u57fa\u7ebf\u5feb\u7167", "label": "Task 3: \u83dc\u5355 SQL + \u57fa\u7ebf\u5feb\u7167", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-quote-contract-approval-menus.md", "source_location": "L44"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_quote_contract_approval_menus_task_4_\u6536\u5c3e", "label": "Task 4: \u6536\u5c3e", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-quote-contract-approval-menus.md", "source_location": "L54"}, {"id": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_quote_contract_approval_menus_\u9a8c\u6536", "label": "\u9a8c\u6536", "file_type": "document", "source_file": "docs/superpowers/plans/2026-08-08-quote-contract-approval-menus.md", "source_location": "L61"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_quote_contract_approval_menus_md", "target": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_quote_contract_approval_menus_\u62a5\u4ef7\u5355_\u5408\u540c\u5ba1\u6279\u83dc\u5355\u62c6\u5206_implementation_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/superpowers/plans/2026-08-08-quote-contract-approval-menus.md", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_quote_contract_approval_menus_\u62a5\u4ef7\u5355_\u5408\u540c\u5ba1\u6279\u83dc\u5355\u62c6\u5206_implementation_plan", "target": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_quote_contract_approval_menus_task_1_\u62a5\u4ef7\u5355\u5217\u8868\u7ec4\u4ef6\u5316_\u53cc\u5165\u53e3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/superpowers/plans/2026-08-08-quote-contract-approval-menus.md", "source_location": "L19", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_quote_contract_approval_menus_\u62a5\u4ef7\u5355_\u5408\u540c\u5ba1\u6279\u83dc\u5355\u62c6\u5206_implementation_plan", "target": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_quote_contract_approval_menus_task_2_\u5408\u540c\u5217\u8868\u7ec4\u4ef6\u5316_\u53cc\u5165\u53e3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/superpowers/plans/2026-08-08-quote-contract-approval-menus.md", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_quote_contract_approval_menus_\u62a5\u4ef7\u5355_\u5408\u540c\u5ba1\u6279\u83dc\u5355\u62c6\u5206_implementation_plan", "target": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_quote_contract_approval_menus_task_3_\u83dc\u5355_sql_\u57fa\u7ebf\u5feb\u7167", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/superpowers/plans/2026-08-08-quote-contract-approval-menus.md", "source_location": "L44", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_08_quote_contract_approval_menus_\u62a5\u4ef7\u5355_\u5408\u540c\u5ba1\u6279\u83dc\u5355\u62c6\u5206_implementation_plan", "target": "users_wuzilong_work_00code_shanxia2_0_docs_superpowers_plans_2026_08_Line truncated