cnhkmcp 2.3.6__tar.gz → 2.3.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cnhkmcp-2.3.6/cnhkmcp.egg-info → cnhkmcp-2.3.8}/PKG-INFO +1 -1
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/__init__.py +1 -1
- {cnhkmcp-2.3.6/cnhkmcp/untracked/APP/blueprints → cnhkmcp-2.3.8/cnhkmcp/untracked/APP/Tranformer}/validator.py +235 -61
- {cnhkmcp-2.3.6/cnhkmcp/untracked/APP/Tranformer → cnhkmcp-2.3.8/cnhkmcp/untracked/APP/blueprints}/validator.py +235 -61
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/validator.py +237 -61
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/alpha-expression-verifier/scripts/validator.py +235 -61
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/scripts/validator.py +235 -61
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8/cnhkmcp.egg-info}/PKG-INFO +1 -1
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp.egg-info/SOURCES.txt +0 -1
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/setup.py +1 -1
- cnhkmcp-2.3.6/cnhkmcp/untracked/AI/346/211/223/345/267/245/344/272/272//345/217/214/345/207/273/345/256/211/350/243/205AI/346/211/223/345/267/245/344/272/272_Windows/347/211/210/346/234/254.exe +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/LICENSE +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/MANIFEST.in +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/README.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/211/223/345/267/245/344/272/272/BRAIN_AI/346/211/223/345/267/245/344/272/272Mac_Linux/347/211/210/346/234/254.zip" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/README.md" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/ace.log" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/config.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/get_knowledgeBase_tool/ace_lib.py" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/get_knowledgeBase_tool/fetch_all_datasets.py" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/get_knowledgeBase_tool/fetch_all_documentation.py" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/get_knowledgeBase_tool/fetch_all_operators.py" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/get_knowledgeBase_tool/helpful_functions.py" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/icon.ico" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/icon.png" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/001_10_Steps_to_Start_on_BRAIN_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/001_Intermediate_Pack_-_Improve_your_Alpha_2_2_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/001_Intermediate_Pack_-_Understand_Results_1_2_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/001_Introduction_to_Alphas_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/001_Introduction_to_BRAIN_Expression_Language_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/001_WorldQuant_Challenge_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/001__Read_this_First_-_Starter_Pack_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/002_How_to_choose_the_Simulation_Settings_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/002_Simulate_your_first_Alpha_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/002__Alpha_Examples_for_Beginners_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/002__Alpha_Examples_for_Bronze_Users_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/002__Alpha_Examples_for_Silver_Users_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/002__How_BRAIN_works_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/003_Clear_these_tests_before_submitting_an_Alpha_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/003_Parameters_in_the_Simulation_results_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/004_Group_Data_Fields_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/004_How_to_use_the_Data_Explorer_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/004_Model77_dataset_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/004_Sentiment1_dataset_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/004_Understanding_Data_in_BRAIN_Key_Concepts_and_Tips_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/004_Vector_Data_Fields_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/005_Crowding_Risk-Neutralized_Alphas_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/005_D0_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/005_Double_Neutralization_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/005_Fast_D1_Documentation_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/005_Investability_Constrained_Metrics_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/005_Must-read_posts_How_to_improve_your_Alphas_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/005_Neutralization_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/005_RAM_Risk-Neutralized_Alphas_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/005_Risk_Neutralization_Default_setting_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/005_Risk_Neutralized_Alphas_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/005_Statistical_Risk-Neutralized_Alphas_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/006_EUR_TOP2500_Universe_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/006_GLB_TOPDIV3000_Universe_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/006_Getting_Started_China_Research_for_Consultants_Gold_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/006_Getting_started_on_Illiquid_Universes_Gold_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/006_Getting_started_with_USA_TOPSP500_universe_Gold_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/006_Global_Alphas_Gold_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/006_India_Alphas_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007_Consultant_Dos_and_Don_ts_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007_Consultant_Features_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007_Consultant_Simulation_Features_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007_Consultant_Submission_Tests_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007_Finding_Consultant_Alphas_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007_Power_Pool_Alphas_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007_Research_Advisory_Program_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007_Starting_Guide_for_Research_Consultants_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007_Visualization_Tool_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007_Your_Advisor_-_Kunqi_Jiang_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007__Brain_Genius_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007__Single_Dataset_Alphas_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/008_Advisory_Theme_Calendar_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/008_Multiplier_Rules_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/008_Overview_of_Themes_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/008_Theme_Calendar_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/009_Combo_Expression_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/009_Global_SuperAlphas_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/009_Helpful_Tips_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/009_Selection_Expression_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/009_SuperAlpha_Operators_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/009_SuperAlpha_Results_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/009_What_is_a_SuperAlpha_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/010_BRAIN_API_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/010_Documentation_for_ACE_API_Library_Gold_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/010__Understanding_simulation_limits_documentation.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/arithmetic_operators.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/cross_sectional_operators.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/group_operators.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/logical_operators.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/reduce_operators.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/special_operators.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/test.txt" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/time_series_operators.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/transformational_operators.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/vector_operators.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/main.py" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/process_knowledge_base.py" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/rag_engine.py" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/requirements.txt" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/run.bat" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/vector_db/_manifest.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/vector_db/_meta.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/vector_db/chroma.sqlite3" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266//351/246/226/346/254/241/350/277/220/350/241/214/346/211/223/345/274/200/346/210/221.py" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/.gitignore +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/MODULAR_STRUCTURE.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/README.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/Tranformer/Transformer.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/Tranformer/ace_lib.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/Tranformer/helpful_functions.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates_/347/244/272/344/276/213.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_error.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_success.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_/347/244/272/344/276/213/345/217/257/347/233/264/346/216/245/350/275/275/345/205/245Machine_lib.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/Tranformer/parsetab.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/Tranformer/template_summary.txt +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/Tranformer/transformer_config.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/ace.log +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/ace_lib.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/blueprints/__init__.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/blueprints/feature_engineering.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/blueprints/idea_house.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/blueprints/inspiration_house.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/blueprints/paper_analysis.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/blueprints/parsetab.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/custom_templates/templates.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/give_me_idea/BRAIN_Alpha_Template_Expert_SystemPrompt.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/give_me_idea/ace_lib.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/give_me_idea/alpha_data_specific_template_master.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/give_me_idea/fetch_all_datasets.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/give_me_idea/fetch_all_operators.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/give_me_idea/helpful_functions.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/give_me_idea/what_is_Alpha_template.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/helpful_functions.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/hkSimulator/ace.log +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/hkSimulator/ace_lib.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/hkSimulator/autosim_20260201_172428.log +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/hkSimulator/autosimulator.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/hkSimulator/helpful_functions.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/mirror_config.txt +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/operaters.csv +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/requirements.txt +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/run_app.bat +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/run_app.sh +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/setup_tsinghua.bat +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/setup_tsinghua.sh +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/simulator/alpha_submitter.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/simulator/simulator_wqb.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/ssrn-3332513.pdf +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/static/brain.js +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/static/decoder.js +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/static/feature_engineering.js +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/static/idea_house.js +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/static/inspiration.js +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/static/inspiration_house.js +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/static/paper_analysis.js +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/static/script.js +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/static/simulator.js +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/static/styles.css +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/static/usage_widget.js +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/templates/alpha_inspector.html +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/templates/feature_engineering.html +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/templates/idea_house.html +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/templates/index.html +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/templates/inspiration_house.html +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/templates/paper_analysis.html +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/templates/simulator.html +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/templates/transformer_web.html +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/README.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/ace.log +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/enhance_template.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/requirements.txt +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/run_pipeline.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/run_pipeline_step_by_step.ipynb +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/OUTPUT_TEMPLATE.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/SKILL.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/examples.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/output_report/ASI_delay1_analyst11_ideas.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/output_report/GLB_delay1_fundamental28_ideas.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/output_report/GLB_delay1_fundamental72_ideas.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/reference.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/SKILL.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/config.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709385783386000.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709386274840400.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709386838244700.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709387369198500.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709387908905800.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709388486243600.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709389024058600.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709389549608700.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709390068714000.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709390591996900.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709391129137100.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709391691643500.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709392192099200.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709392703423500.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709393213729400.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710186683932500.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710187165414300.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710187665211700.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710188149193400.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710188667627400.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710189220822000.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710189726189500.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710190248066100.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710190768298700.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710191282588100.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710191838960900.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710192396688000.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710192941922400.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710193473524600.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710194001961200.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710420975888800.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710421647590100.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710422131378500.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710422644184400.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710423702350600.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710424244661800.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_delay1.csv +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/final_expressions.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/final_expressions.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874844124598400.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874844589448700.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874845048996700.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874845510819100.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874845978315000.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874846459411100.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874846924915700.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874847399137200.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874847858960800.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874848327921300.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874848810818000.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874849327754300.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874849795807500.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874850272279500.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874850757124200.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874851224506800.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769927658009727000.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769927658519220600.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769927659002708800.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769927659510920900.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769927659982673800.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_delay1.csv +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/final_expressions.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852468022627100.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852468554457600.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852469133324600.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852469704433900.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852470248911900.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852470805192900.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852471380158000.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852471944247400.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852472483548800.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852473053891800.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852473617716000.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852474172815700.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852474735778500.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852475315478500.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852475912897000.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852476474911100.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852978914367200.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852979426164800.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852979945511100.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852980480251500.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852981007315500.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854621979784200.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854622483457900.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854623010559800.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854623572902300.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854624091016000.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_delay1.csv +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_delay1.csv.bak_1769852868 +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_delay1.csv.bak_1769854511 +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/ace.log +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/ace_lib.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/fetch_dataset.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/helpful_functions.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/implement_idea.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/merge_expression_list.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/parsetab.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/template_final_enhance/op/346/200/273/347/273/223.md" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/template_final_enhance/sample_prompt.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/template_final_enhance//345/215/225/345/233/240/345/255/220/346/200/235/350/200/203/351/200/273/350/276/221/351/223/276.md" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP/usage.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP//347/274/230/345/210/206/344/270/200/351/201/223/346/241/245/ace_lib.py" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP//347/274/230/345/210/206/344/270/200/351/201/223/346/241/245/brain_alpha_inspector.py" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP//347/274/230/345/210/206/344/270/200/351/201/223/346/241/245/helpful_functions.py" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/APP//350/277/220/350/241/214/346/211/223/345/274/200/346/210/221.py" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/__init__.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/arXiv_API_Tool_Manual.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/arxiv_api.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/back_up/forum_functions.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/back_up/platform_functions.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/brain-consultant.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/forum_functions.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/mcp/346/226/207/344/273/266/350/256/272/345/235/233/347/211/2102_/345/246/202/346/236/234/345/216/237/347/211/210/345/220/257/345/212/250/344/270/215/344/272/206/346/265/217/350/247/210/345/231/250/345/260/261/350/257/225/350/277/231/344/270/252/forum_functions.py" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/mcp/346/226/207/344/273/266/350/256/272/345/235/233/347/211/2102_/345/246/202/346/236/234/345/216/237/347/211/210/345/220/257/345/212/250/344/270/215/344/272/206/346/265/217/350/247/210/345/231/250/345/260/261/350/257/225/350/277/231/344/270/252/platform_functions.py" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/mcp/346/226/207/344/273/266/350/256/272/345/235/233/347/211/2102_/345/246/202/346/236/234/345/216/237/347/211/210/345/220/257/345/212/250/344/270/215/344/272/206/346/265/217/350/247/210/345/231/250/345/260/261/350/257/225/350/277/231/344/270/252/user_config.json" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/mcp/346/226/207/344/273/266/350/256/272/345/235/233/347/211/2102_/345/246/202/346/236/234/345/216/237/347/211/210/345/220/257/345/212/250/344/270/215/344/272/206/346/265/217/350/247/210/345/231/250/345/260/261/350/257/225/350/277/231/344/270/252//350/256/251AI/350/257/273/350/277/231/344/270/252/346/226/207/346/241/243/346/235/245/345/255/246/344/274/232/344/270/213/350/275/275/346/265/217/350/247/210/345/231/250.md" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/mcp/346/226/207/344/273/266/350/256/272/345/235/233/347/211/2102_/345/246/202/346/236/234/345/216/237/347/211/210/345/220/257/345/212/250/344/270/215/344/272/206/346/265/217/350/247/210/345/231/250/345/260/261/350/257/225/350/277/231/344/270/252//351/205/215/347/275/256/345/211/215/350/277/220/350/241/214/346/210/221_/345/256/211/350/243/205/345/277/205/350/246/201/344/276/235/350/265/226/345/214/205.py" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/platform_functions.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/sample_mcp_config.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/Claude_Skill_Creation_Guide.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/alpha-expression-verifier/SKILL.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/alpha-expression-verifier/scripts/parsetab.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/alpha-expression-verifier/scripts/verify_expr.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-calculate-alpha-selfcorrQuick/SKILL.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-calculate-alpha-selfcorrQuick/reference.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-calculate-alpha-selfcorrQuick/scripts/requirements.txt +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-calculate-alpha-selfcorrQuick/scripts/skill.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-data-feature-engineering/OUTPUT_TEMPLATE.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-data-feature-engineering/SKILL.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-data-feature-engineering/examples.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-data-feature-engineering/reference.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-datafield-exploration-general/SKILL.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-datafield-exploration-general/reference.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-dataset-exploration-general/SKILL.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-dataset-exploration-general/reference.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-explain-alphas/SKILL.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-explain-alphas/reference.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/SKILL.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/config.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/analyst15_GLB_delay1.csv +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/final_expressions.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588244.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588251.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588273.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588293.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588319.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588322.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588325.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588328.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588354.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588357.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588361.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588364.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588368.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588391.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588394.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588397.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588400.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588403.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588428.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588431.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588434.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588438.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588441.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588468.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/scripts/ace_lib.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/scripts/fetch_dataset.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/scripts/helpful_functions.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/scripts/implement_idea.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-feature-implementation/scripts/merge_expression_list.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-how-to-pass-AlphaTest/SKILL.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-how-to-pass-AlphaTest/reference.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-improve-alpha-performance/SKILL.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-improve-alpha-performance/arXiv_API_Tool_Manual.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-improve-alpha-performance/reference.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-improve-alpha-performance/scripts/arxiv_api.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/.gitignore +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/SKILL.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/ace.log +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/ace_lib.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/config.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/fundamental28_GLB_1_idea_1769874845978315000.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/helpful_functions.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/idea_context.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/scripts/__init__.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/scripts/build_alpha_list.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/scripts/fetch_sim_options.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/scripts/load_credentials.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/scripts/parse_idea_file.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/scripts/parsetab.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/scripts/process_template.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/scripts/resolve_settings.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/sim_options_snapshot.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-nextMove-analysis/SKILL.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/brain-nextMove-analysis/reference.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/planning-with-files/SKILL.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/planning-with-files/examples.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/planning-with-files/reference.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/planning-with-files/scripts/check-complete.sh +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/planning-with-files/scripts/init-session.sh +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/planning-with-files/templates/findings.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/planning-with-files/templates/progress.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/planning-with-files/templates/task_plan.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/pull_BRAINSkill/SKILL.md +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/skills/pull_BRAINSkill/scripts/pull_skills.py +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked/user_config.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked//347/244/272/344/276/213/345/217/202/350/200/203/346/226/207/346/241/243_BRAIN_Alpha_Test_Requirements_and_Tips.md" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked//347/244/272/344/276/213/345/267/245/344/275/234/346/265/201_Alpha_explaination_workflow.md" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked//347/244/272/344/276/213/345/267/245/344/275/234/346/265/201_BRAIN_6_Tips_Datafield_Exploration_Guide.md" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked//347/244/272/344/276/213/345/267/245/344/275/234/346/265/201_BRAIN_Alpha_Improvement_Workflow.md" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked//347/244/272/344/276/213/345/267/245/344/275/234/346/265/201_Dataset_Exploration_Expert_Manual.md" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked//347/244/272/344/276/213/345/267/245/344/275/234/346/265/201_daily_report_workflow.md" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/untracked//351/205/215/347/275/256/345/211/215/350/277/220/350/241/214/346/210/221_/345/256/211/350/243/205/345/277/205/350/246/201/344/276/235/350/265/226/345/214/205.py" +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/vector_db/_manifest.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp/vector_db/_meta.json +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp.egg-info/dependency_links.txt +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp.egg-info/entry_points.txt +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp.egg-info/not-zip-safe +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp.egg-info/requires.txt +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/cnhkmcp.egg-info/top_level.txt +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/requirements.txt +0 -0
- {cnhkmcp-2.3.6 → cnhkmcp-2.3.8}/setup.cfg +0 -0
|
@@ -25,7 +25,8 @@ except ImportError:
|
|
|
25
25
|
supported_functions = {
|
|
26
26
|
# Group 类别函数
|
|
27
27
|
'group_min': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'category']},
|
|
28
|
-
|
|
28
|
+
# group_mean(x, w, group)
|
|
29
|
+
'group_mean': {'min_args': 3, 'max_args': 3, 'arg_types': ['expression', 'expression', 'category']},
|
|
29
30
|
'group_median': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'category']},
|
|
30
31
|
'group_max': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'category']},
|
|
31
32
|
'group_rank': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'category']},
|
|
@@ -612,6 +613,16 @@ class ExpressionValidator:
|
|
|
612
613
|
"""验证参数类型是否符合预期"""
|
|
613
614
|
errors = []
|
|
614
615
|
|
|
616
|
+
def _is_number_like(node: ASTNode) -> bool:
|
|
617
|
+
if node is None:
|
|
618
|
+
return False
|
|
619
|
+
if node.node_type == 'number':
|
|
620
|
+
return True
|
|
621
|
+
if node.node_type == 'unop' and isinstance(node.value, dict) and node.value.get('op') in {'-', '+'}:
|
|
622
|
+
if node.children and hasattr(node.children[0], 'node_type'):
|
|
623
|
+
return _is_number_like(node.children[0])
|
|
624
|
+
return False
|
|
625
|
+
|
|
615
626
|
# Unit compatibility check
|
|
616
627
|
# bucket()/group_cartesian_product() output a derived category (grouping key).
|
|
617
628
|
# It can only be consumed where a category/grouping key is expected.
|
|
@@ -632,7 +643,8 @@ class ExpressionValidator:
|
|
|
632
643
|
# 表达式可以是任何有效的AST节点
|
|
633
644
|
pass
|
|
634
645
|
elif expected_type == 'number':
|
|
635
|
-
|
|
646
|
+
# 允许 -1 这类一元负号数字常量(解析为 unop(number))
|
|
647
|
+
if not _is_number_like(arg):
|
|
636
648
|
errors.append(f"参数 {arg_index+1} 应该是一个数字,但得到 {arg.node_type}")
|
|
637
649
|
elif expected_type == 'boolean':
|
|
638
650
|
# 布尔值可以是 true/false 或数字(0/1)
|
|
@@ -715,19 +727,53 @@ class ExpressionValidator:
|
|
|
715
727
|
return cached
|
|
716
728
|
|
|
717
729
|
derived = False
|
|
718
|
-
if node.node_type == 'function'
|
|
719
|
-
|
|
730
|
+
if node.node_type == 'function':
|
|
731
|
+
if node.value in {'bucket', 'group_cartesian_product'}:
|
|
732
|
+
derived = True
|
|
733
|
+
else:
|
|
734
|
+
function_info = supported_functions.get(node.value, {})
|
|
735
|
+
arg_types = function_info.get('arg_types', [])
|
|
736
|
+
param_names = function_info.get('param_names', [])
|
|
737
|
+
|
|
738
|
+
positional_index = 0
|
|
739
|
+
for child in node.children:
|
|
740
|
+
if isinstance(child, dict):
|
|
741
|
+
if child.get('type') == 'named':
|
|
742
|
+
name = child.get('name')
|
|
743
|
+
value = child.get('value')
|
|
744
|
+
|
|
745
|
+
expected_type = None
|
|
746
|
+
if name in param_names:
|
|
747
|
+
param_index = param_names.index(name)
|
|
748
|
+
if param_index < len(arg_types):
|
|
749
|
+
expected_type = arg_types[param_index]
|
|
750
|
+
|
|
751
|
+
if expected_type == 'category':
|
|
752
|
+
continue
|
|
753
|
+
|
|
754
|
+
if self._is_derived_category(value):
|
|
755
|
+
derived = True
|
|
756
|
+
break
|
|
757
|
+
elif child.get('type') == 'positional':
|
|
758
|
+
value = child.get('value')
|
|
759
|
+
expected_type = arg_types[positional_index] if positional_index < len(arg_types) else None
|
|
760
|
+
|
|
761
|
+
if expected_type != 'category' and self._is_derived_category(value):
|
|
762
|
+
derived = True
|
|
763
|
+
break
|
|
764
|
+
positional_index += 1
|
|
765
|
+
else:
|
|
766
|
+
expected_type = arg_types[positional_index] if positional_index < len(arg_types) else None
|
|
767
|
+
if expected_type != 'category' and self._is_derived_category(child):
|
|
768
|
+
derived = True
|
|
769
|
+
break
|
|
770
|
+
positional_index += 1
|
|
720
771
|
elif node.node_type in {'unop', 'binop'}:
|
|
721
772
|
derived = any(
|
|
722
773
|
self._is_derived_category(child)
|
|
723
774
|
for child in node.children
|
|
724
775
|
if hasattr(child, 'node_type')
|
|
725
776
|
)
|
|
726
|
-
elif node.node_type == 'function':
|
|
727
|
-
derived = any(
|
|
728
|
-
self._is_derived_category(child.get('value')) if isinstance(child, dict) else self._is_derived_category(child)
|
|
729
|
-
for child in node.children
|
|
730
|
-
)
|
|
731
777
|
|
|
732
778
|
self._derived_category_cache[cache_key] = derived
|
|
733
779
|
return derived
|
|
@@ -859,6 +905,172 @@ class ExpressionValidator:
|
|
|
859
905
|
Returns:
|
|
860
906
|
Tuple[bool, str]: (是否成功, 转换后的表达式或错误信息)
|
|
861
907
|
"""
|
|
908
|
+
def _top_level_equals_positions(stmt: str) -> List[int]:
|
|
909
|
+
"""返回所有“顶层赋值”等号位置。
|
|
910
|
+
|
|
911
|
+
仅统计括号外(()[]{})、引号外、且不属于比较操作符(==,!=,<=,>=)的 '='。
|
|
912
|
+
这样可以避免把关键字参数(如 rettype=0)误判为赋值语句。
|
|
913
|
+
"""
|
|
914
|
+
positions: List[int] = []
|
|
915
|
+
paren_depth = 0
|
|
916
|
+
bracket_depth = 0
|
|
917
|
+
brace_depth = 0
|
|
918
|
+
in_single_quote = False
|
|
919
|
+
in_double_quote = False
|
|
920
|
+
escape = False
|
|
921
|
+
|
|
922
|
+
for i, ch in enumerate(stmt):
|
|
923
|
+
if escape:
|
|
924
|
+
escape = False
|
|
925
|
+
continue
|
|
926
|
+
if ch == '\\':
|
|
927
|
+
escape = True
|
|
928
|
+
continue
|
|
929
|
+
|
|
930
|
+
if in_single_quote:
|
|
931
|
+
if ch == "'":
|
|
932
|
+
in_single_quote = False
|
|
933
|
+
continue
|
|
934
|
+
if in_double_quote:
|
|
935
|
+
if ch == '"':
|
|
936
|
+
in_double_quote = False
|
|
937
|
+
continue
|
|
938
|
+
|
|
939
|
+
if ch == "'":
|
|
940
|
+
in_single_quote = True
|
|
941
|
+
continue
|
|
942
|
+
if ch == '"':
|
|
943
|
+
in_double_quote = True
|
|
944
|
+
continue
|
|
945
|
+
|
|
946
|
+
if ch == '(':
|
|
947
|
+
paren_depth += 1
|
|
948
|
+
continue
|
|
949
|
+
if ch == ')':
|
|
950
|
+
paren_depth = max(0, paren_depth - 1)
|
|
951
|
+
continue
|
|
952
|
+
if ch == '[':
|
|
953
|
+
bracket_depth += 1
|
|
954
|
+
continue
|
|
955
|
+
if ch == ']':
|
|
956
|
+
bracket_depth = max(0, bracket_depth - 1)
|
|
957
|
+
continue
|
|
958
|
+
if ch == '{':
|
|
959
|
+
brace_depth += 1
|
|
960
|
+
continue
|
|
961
|
+
if ch == '}':
|
|
962
|
+
brace_depth = max(0, brace_depth - 1)
|
|
963
|
+
continue
|
|
964
|
+
|
|
965
|
+
if paren_depth or bracket_depth or brace_depth:
|
|
966
|
+
continue
|
|
967
|
+
|
|
968
|
+
if ch != '=':
|
|
969
|
+
continue
|
|
970
|
+
|
|
971
|
+
prev_ch = stmt[i - 1] if i > 0 else ''
|
|
972
|
+
next_ch = stmt[i + 1] if i + 1 < len(stmt) else ''
|
|
973
|
+
if prev_ch in ['=', '!', '<', '>'] or next_ch == '=':
|
|
974
|
+
continue
|
|
975
|
+
|
|
976
|
+
positions.append(i)
|
|
977
|
+
|
|
978
|
+
return positions
|
|
979
|
+
|
|
980
|
+
def _keyword_arg_names(stmt: str):
|
|
981
|
+
"""提取函数调用中的命名参数名(如 rettype=0 中的 rettype)。
|
|
982
|
+
|
|
983
|
+
只收集括号/中括号/大括号内部出现的 name= 形式,避免把脚本级赋值误当作命名参数。
|
|
984
|
+
"""
|
|
985
|
+
names = set()
|
|
986
|
+
paren_depth = 0
|
|
987
|
+
bracket_depth = 0
|
|
988
|
+
brace_depth = 0
|
|
989
|
+
in_single_quote = False
|
|
990
|
+
in_double_quote = False
|
|
991
|
+
escape = False
|
|
992
|
+
|
|
993
|
+
i = 0
|
|
994
|
+
while i < len(stmt):
|
|
995
|
+
ch = stmt[i]
|
|
996
|
+
|
|
997
|
+
if escape:
|
|
998
|
+
escape = False
|
|
999
|
+
i += 1
|
|
1000
|
+
continue
|
|
1001
|
+
if ch == '\\':
|
|
1002
|
+
escape = True
|
|
1003
|
+
i += 1
|
|
1004
|
+
continue
|
|
1005
|
+
|
|
1006
|
+
if in_single_quote:
|
|
1007
|
+
if ch == "'":
|
|
1008
|
+
in_single_quote = False
|
|
1009
|
+
i += 1
|
|
1010
|
+
continue
|
|
1011
|
+
if in_double_quote:
|
|
1012
|
+
if ch == '"':
|
|
1013
|
+
in_double_quote = False
|
|
1014
|
+
i += 1
|
|
1015
|
+
continue
|
|
1016
|
+
|
|
1017
|
+
if ch == "'":
|
|
1018
|
+
in_single_quote = True
|
|
1019
|
+
i += 1
|
|
1020
|
+
continue
|
|
1021
|
+
if ch == '"':
|
|
1022
|
+
in_double_quote = True
|
|
1023
|
+
i += 1
|
|
1024
|
+
continue
|
|
1025
|
+
|
|
1026
|
+
if ch == '(':
|
|
1027
|
+
paren_depth += 1
|
|
1028
|
+
i += 1
|
|
1029
|
+
continue
|
|
1030
|
+
if ch == ')':
|
|
1031
|
+
paren_depth = max(0, paren_depth - 1)
|
|
1032
|
+
i += 1
|
|
1033
|
+
continue
|
|
1034
|
+
if ch == '[':
|
|
1035
|
+
bracket_depth += 1
|
|
1036
|
+
i += 1
|
|
1037
|
+
continue
|
|
1038
|
+
if ch == ']':
|
|
1039
|
+
bracket_depth = max(0, bracket_depth - 1)
|
|
1040
|
+
i += 1
|
|
1041
|
+
continue
|
|
1042
|
+
if ch == '{':
|
|
1043
|
+
brace_depth += 1
|
|
1044
|
+
i += 1
|
|
1045
|
+
continue
|
|
1046
|
+
if ch == '}':
|
|
1047
|
+
brace_depth = max(0, brace_depth - 1)
|
|
1048
|
+
i += 1
|
|
1049
|
+
continue
|
|
1050
|
+
|
|
1051
|
+
inside_container = bool(paren_depth or bracket_depth or brace_depth)
|
|
1052
|
+
|
|
1053
|
+
if inside_container and (ch.isalpha() or ch == '_'):
|
|
1054
|
+
start = i
|
|
1055
|
+
i += 1
|
|
1056
|
+
while i < len(stmt) and (stmt[i].isalnum() or stmt[i] == '_'):
|
|
1057
|
+
i += 1
|
|
1058
|
+
name = stmt[start:i]
|
|
1059
|
+
|
|
1060
|
+
j = i
|
|
1061
|
+
while j < len(stmt) and stmt[j].isspace():
|
|
1062
|
+
j += 1
|
|
1063
|
+
|
|
1064
|
+
if j < len(stmt) and stmt[j] == '=':
|
|
1065
|
+
next_ch = stmt[j + 1] if j + 1 < len(stmt) else ''
|
|
1066
|
+
if next_ch != '=':
|
|
1067
|
+
names.add(name.lower())
|
|
1068
|
+
continue
|
|
1069
|
+
|
|
1070
|
+
i += 1
|
|
1071
|
+
|
|
1072
|
+
return names
|
|
1073
|
+
|
|
862
1074
|
# 检查表达式是否以分号结尾
|
|
863
1075
|
if expression.strip().endswith(';'):
|
|
864
1076
|
return False, "表达式不能以分号结尾"
|
|
@@ -873,51 +1085,13 @@ class ExpressionValidator:
|
|
|
873
1085
|
|
|
874
1086
|
# 处理每个赋值语句(除了最后一个)
|
|
875
1087
|
for i, stmt in enumerate(statements[:-1]):
|
|
876
|
-
|
|
877
|
-
if
|
|
878
|
-
return False, f"第{i+1}个语句必须是赋值语句(使用=符号)"
|
|
879
|
-
|
|
880
|
-
# 检查是否是比较操作符(==, !=, <=, >=)
|
|
881
|
-
if any(op in stmt for op in ['==', '!=', '<=', '>=']):
|
|
882
|
-
# 如果包含比较操作符,需要确认是否有赋值符号
|
|
883
|
-
# 使用临时替换法:将比较操作符替换为临时标记,再检查是否还有=
|
|
884
|
-
temp_stmt = stmt
|
|
885
|
-
for op in ['==', '!=', '<=', '>=']:
|
|
886
|
-
temp_stmt = temp_stmt.replace(op, '---')
|
|
887
|
-
|
|
888
|
-
if '=' not in temp_stmt:
|
|
889
|
-
return False, f"第{i+1}个语句必须是赋值语句,不能只是比较表达式"
|
|
890
|
-
|
|
891
|
-
# 找到第一个=符号(不是比较操作符的一部分)
|
|
892
|
-
# 先将比较操作符替换为临时标记,再找=
|
|
893
|
-
temp_stmt = stmt
|
|
894
|
-
for op in ['==', '!=', '<=', '>=']:
|
|
895
|
-
temp_stmt = temp_stmt.replace(op, '---')
|
|
896
|
-
|
|
897
|
-
if '=' not in temp_stmt:
|
|
1088
|
+
eq_positions = _top_level_equals_positions(stmt)
|
|
1089
|
+
if not eq_positions:
|
|
898
1090
|
return False, f"第{i+1}个语句必须是赋值语句(使用=符号)"
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
# 在原始语句中找到对应位置
|
|
904
|
-
real_equals_pos = 0
|
|
905
|
-
temp_count = 0
|
|
906
|
-
for char in stmt:
|
|
907
|
-
if temp_count == equals_pos:
|
|
908
|
-
break
|
|
909
|
-
if char in '!<>':
|
|
910
|
-
# 检查是否是比较操作符的一部分
|
|
911
|
-
if real_equals_pos + 1 < len(stmt) and stmt[real_equals_pos + 1] == '=':
|
|
912
|
-
# 是比较操作符,跳过两个字符
|
|
913
|
-
real_equals_pos += 2
|
|
914
|
-
temp_count += 3 # 因为替换成了三个字符的---
|
|
915
|
-
else:
|
|
916
|
-
real_equals_pos += 1
|
|
917
|
-
temp_count += 1
|
|
918
|
-
else:
|
|
919
|
-
real_equals_pos += 1
|
|
920
|
-
temp_count += 1
|
|
1091
|
+
if len(eq_positions) > 1:
|
|
1092
|
+
return False, f"第{i+1}个语句只能包含一个赋值符号(=)"
|
|
1093
|
+
|
|
1094
|
+
real_equals_pos = eq_positions[0]
|
|
921
1095
|
|
|
922
1096
|
# 分割变量名和值
|
|
923
1097
|
var_name = stmt[:real_equals_pos].strip()
|
|
@@ -934,9 +1108,12 @@ class ExpressionValidator:
|
|
|
934
1108
|
|
|
935
1109
|
# 检查变量值中使用的变量是否已经定义
|
|
936
1110
|
# 简单检查:提取所有可能的变量名
|
|
1111
|
+
kw_names = _keyword_arg_names(var_value)
|
|
937
1112
|
used_vars = re.findall(r'\b[a-zA-Z_][a-zA-Z0-9_]*\b', var_value)
|
|
938
1113
|
for used_var in used_vars:
|
|
939
1114
|
used_var_lower = used_var.lower()
|
|
1115
|
+
if used_var_lower in kw_names:
|
|
1116
|
+
continue
|
|
940
1117
|
if used_var_lower not in variables:
|
|
941
1118
|
# 检查是否是函数名
|
|
942
1119
|
if used_var not in supported_functions:
|
|
@@ -959,19 +1136,16 @@ class ExpressionValidator:
|
|
|
959
1136
|
final_stmt = statements[-1]
|
|
960
1137
|
|
|
961
1138
|
# 检查最后一个语句是否是赋值语句
|
|
962
|
-
if
|
|
963
|
-
|
|
964
|
-
temp_stmt = final_stmt
|
|
965
|
-
for op in ['==', '!=', '<=', '>=']:
|
|
966
|
-
temp_stmt = temp_stmt.replace(op, '---')
|
|
967
|
-
|
|
968
|
-
if '=' in temp_stmt:
|
|
969
|
-
return False, "最后一个语句不能是赋值语句"
|
|
1139
|
+
if _top_level_equals_positions(final_stmt):
|
|
1140
|
+
return False, "最后一个语句不能是赋值语句"
|
|
970
1141
|
|
|
971
1142
|
# 检查最后一个语句中使用的变量是否已经定义
|
|
1143
|
+
kw_names = _keyword_arg_names(final_stmt)
|
|
972
1144
|
used_vars = re.findall(r'\b[a-zA-Z_][a-zA-Z0-9_]*\b', final_stmt)
|
|
973
1145
|
for used_var in used_vars:
|
|
974
1146
|
used_var_lower = used_var.lower()
|
|
1147
|
+
if used_var_lower in kw_names:
|
|
1148
|
+
continue
|
|
975
1149
|
if used_var_lower not in variables:
|
|
976
1150
|
# 检查是否是函数名
|
|
977
1151
|
if used_var not in supported_functions:
|