cnhkmcp 2.3.4__tar.gz → 2.3.6__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.
Files changed (412) hide show
  1. {cnhkmcp-2.3.4/cnhkmcp.egg-info → cnhkmcp-2.3.6}/PKG-INFO +1 -1
  2. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/__init__.py +1 -1
  3. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  4. {cnhkmcp-2.3.4 → 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
  5. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/main.py +6 -3
  6. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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 +5 -3
  7. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/Tranformer/validator.py +149 -32
  8. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/ace_lib.py +5 -3
  9. cnhkmcp-2.3.6/cnhkmcp/untracked/APP/blueprints/parsetab.py +60 -0
  10. {cnhkmcp-2.3.4/cnhkmcp/untracked/skills/alpha-expression-verifier/scripts → cnhkmcp-2.3.6/cnhkmcp/untracked/APP/blueprints}/validator.py +149 -32
  11. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/requirements.txt +0 -0
  12. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/static/decoder.js +164 -38
  13. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/static/simulator.js +15 -15
  14. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/templates/feature_engineering.html +78 -78
  15. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/templates/idea_house.html +49 -49
  16. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/templates/index.html +58 -58
  17. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/templates/inspiration_house.html +64 -64
  18. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/templates/paper_analysis.html +21 -21
  19. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/templates/simulator.html +38 -38
  20. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/templates/transformer_web.html +24 -24
  21. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/SKILL.md +15 -15
  22. cnhkmcp-2.3.6/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769927658009727000.json +10 -0
  23. cnhkmcp-2.3.6/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769927658519220600.json +10 -0
  24. cnhkmcp-2.3.6/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769927659002708800.json +10 -0
  25. cnhkmcp-2.3.6/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769927659510920900.json +10 -0
  26. cnhkmcp-2.3.6/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769927659982673800.json +10 -0
  27. cnhkmcp-2.3.6/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/validator.py +1086 -0
  28. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP//350/277/220/350/241/214/346/211/223/345/274/200/346/210/221.py +51 -3
  29. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/arxiv_api.py +5 -3
  30. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/back_up/forum_functions.py +5 -3
  31. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/forum_functions.py +5 -3
  32. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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 +5 -3
  33. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/platform_functions.py +5 -3
  34. {cnhkmcp-2.3.4/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation → cnhkmcp-2.3.6/cnhkmcp/untracked/skills/alpha-expression-verifier}/scripts/validator.py +150 -35
  35. {cnhkmcp-2.3.4/cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting → cnhkmcp-2.3.6/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting}/SKILL.md +8 -2
  36. cnhkmcp-2.3.6/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/ace.log +0 -0
  37. cnhkmcp-2.3.6/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/idea_context.json +15 -0
  38. cnhkmcp-2.3.6/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/scripts/__init__.py +0 -0
  39. {cnhkmcp-2.3.4/cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting → cnhkmcp-2.3.6/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting}/scripts/parse_idea_file.py +33 -1
  40. cnhkmcp-2.3.6/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/scripts/parsetab.py +60 -0
  41. cnhkmcp-2.3.6/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/scripts/validator.py +1086 -0
  42. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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 +5 -3
  43. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6/cnhkmcp.egg-info}/PKG-INFO +1 -1
  44. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp.egg-info/SOURCES.txt +27 -15
  45. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/setup.py +1 -1
  46. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/LICENSE +0 -0
  47. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/MANIFEST.in +0 -0
  48. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/README.md +0 -0
  49. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/README.md" +0 -0
  50. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/ace.log" +0 -0
  51. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/config.json" +0 -0
  52. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/get_knowledgeBase_tool/ace_lib.py" +0 -0
  53. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/get_knowledgeBase_tool/fetch_all_datasets.py" +0 -0
  54. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/get_knowledgeBase_tool/fetch_all_documentation.py" +0 -0
  55. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/get_knowledgeBase_tool/fetch_all_operators.py" +0 -0
  56. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/get_knowledgeBase_tool/helpful_functions.py" +0 -0
  57. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/icon.ico" +0 -0
  58. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/icon.png" +0 -0
  59. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  60. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  61. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  62. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/001_Introduction_to_Alphas_documentation.json" +0 -0
  63. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  64. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/001_WorldQuant_Challenge_documentation.json" +0 -0
  65. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  66. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  67. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  68. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  69. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  70. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  71. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/002__How_BRAIN_works_documentation.json" +0 -0
  72. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  73. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  74. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/004_Group_Data_Fields_documentation.json" +0 -0
  75. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  76. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/004_Model77_dataset_documentation.json" +0 -0
  77. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/004_Sentiment1_dataset_documentation.json" +0 -0
  78. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  79. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/004_Vector_Data_Fields_documentation.json" +0 -0
  80. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  81. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/005_D0_documentation.json" +0 -0
  82. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/005_Double_Neutralization_documentation.json" +0 -0
  83. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/005_Fast_D1_Documentation_documentation.json" +0 -0
  84. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/005_Investability_Constrained_Metrics_documentation.json" +0 -0
  85. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  86. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/005_Neutralization_documentation.json" +0 -0
  87. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  88. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  89. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/005_Risk_Neutralized_Alphas_documentation.json" +0 -0
  90. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  91. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/006_EUR_TOP2500_Universe_documentation.json" +0 -0
  92. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/006_GLB_TOPDIV3000_Universe_documentation.json" +0 -0
  93. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  94. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  95. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  96. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/006_Global_Alphas_Gold_documentation.json" +0 -0
  97. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/006_India_Alphas_documentation.json" +0 -0
  98. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  99. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007_Consultant_Features_documentation.json" +0 -0
  100. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007_Consultant_Simulation_Features_documentation.json" +0 -0
  101. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007_Consultant_Submission_Tests_documentation.json" +0 -0
  102. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007_Finding_Consultant_Alphas_documentation.json" +0 -0
  103. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007_Power_Pool_Alphas_documentation.json" +0 -0
  104. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007_Research_Advisory_Program_documentation.json" +0 -0
  105. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  106. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007_Visualization_Tool_documentation.json" +0 -0
  107. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  108. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007__Brain_Genius_documentation.json" +0 -0
  109. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/007__Single_Dataset_Alphas_documentation.json" +0 -0
  110. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/008_Advisory_Theme_Calendar_documentation.json" +0 -0
  111. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/008_Multiplier_Rules_documentation.json" +0 -0
  112. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/008_Overview_of_Themes_documentation.json" +0 -0
  113. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/008_Theme_Calendar_documentation.json" +0 -0
  114. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/009_Combo_Expression_documentation.json" +0 -0
  115. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/009_Global_SuperAlphas_documentation.json" +0 -0
  116. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/009_Helpful_Tips_documentation.json" +0 -0
  117. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/009_Selection_Expression_documentation.json" +0 -0
  118. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/009_SuperAlpha_Operators_documentation.json" +0 -0
  119. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/009_SuperAlpha_Results_documentation.json" +0 -0
  120. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  121. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/010_BRAIN_API_documentation.json" +0 -0
  122. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  123. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/010__Understanding_simulation_limits_documentation.json" +0 -0
  124. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/arithmetic_operators.json" +0 -0
  125. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/cross_sectional_operators.json" +0 -0
  126. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/group_operators.json" +0 -0
  127. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/logical_operators.json" +0 -0
  128. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/reduce_operators.json" +0 -0
  129. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/special_operators.json" +0 -0
  130. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/test.txt" +0 -0
  131. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/time_series_operators.json" +0 -0
  132. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/transformational_operators.json" +0 -0
  133. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/knowledge/vector_operators.json" +0 -0
  134. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/process_knowledge_base.py" +0 -0
  135. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/rag_engine.py" +0 -0
  136. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/requirements.txt" +0 -0
  137. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/run.bat" +0 -0
  138. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/vector_db/_manifest.json" +0 -0
  139. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/vector_db/_meta.json" +0 -0
  140. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/AI/346/241/214/351/235/242/346/217/222/344/273/266/vector_db/chroma.sqlite3" +0 -0
  141. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/.gitignore +0 -0
  142. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/MODULAR_STRUCTURE.md +0 -0
  143. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/README.md +0 -0
  144. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/Tranformer/Transformer.py +0 -0
  145. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/Tranformer/ace_lib.py +0 -0
  146. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/Tranformer/helpful_functions.py +0 -0
  147. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates.json +0 -0
  148. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates_/347/244/272/344/276/213.json" +0 -0
  149. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_error.json +0 -0
  150. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_success.json +0 -0
  151. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  152. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/Tranformer/parsetab.py +0 -0
  153. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/Tranformer/template_summary.txt +0 -0
  154. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/Tranformer/transformer_config.json +0 -0
  155. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/ace.log +0 -0
  156. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/blueprints/__init__.py +0 -0
  157. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/blueprints/feature_engineering.py +0 -0
  158. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/blueprints/idea_house.py +0 -0
  159. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/blueprints/inspiration_house.py +0 -0
  160. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/blueprints/paper_analysis.py +0 -0
  161. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/custom_templates/templates.json +0 -0
  162. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/give_me_idea/BRAIN_Alpha_Template_Expert_SystemPrompt.md +0 -0
  163. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/give_me_idea/ace_lib.py +0 -0
  164. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/give_me_idea/alpha_data_specific_template_master.py +0 -0
  165. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/give_me_idea/fetch_all_datasets.py +0 -0
  166. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/give_me_idea/fetch_all_operators.py +0 -0
  167. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/give_me_idea/helpful_functions.py +0 -0
  168. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/give_me_idea/what_is_Alpha_template.md +0 -0
  169. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/helpful_functions.py +0 -0
  170. {cnhkmcp-2.3.4/cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting → cnhkmcp-2.3.6/cnhkmcp/untracked/APP/hkSimulator}/ace.log +0 -0
  171. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/hkSimulator/ace_lib.py +0 -0
  172. /cnhkmcp-2.3.4/cnhkmcp/untracked/__init__.py → /cnhkmcp-2.3.6/cnhkmcp/untracked/APP/hkSimulator/autosim_20260201_172428.log +0 -0
  173. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/hkSimulator/autosimulator.py +0 -0
  174. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/hkSimulator/helpful_functions.py +0 -0
  175. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/mirror_config.txt +0 -0
  176. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/operaters.csv +0 -0
  177. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/run_app.bat +0 -0
  178. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/run_app.sh +0 -0
  179. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/setup_tsinghua.bat +0 -0
  180. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/setup_tsinghua.sh +0 -0
  181. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/simulator/alpha_submitter.py +0 -0
  182. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/simulator/simulator_wqb.py +0 -0
  183. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/ssrn-3332513.pdf +0 -0
  184. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/static/brain.js +0 -0
  185. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/static/feature_engineering.js +0 -0
  186. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/static/idea_house.js +0 -0
  187. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/static/inspiration.js +0 -0
  188. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/static/inspiration_house.js +0 -0
  189. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/static/paper_analysis.js +0 -0
  190. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/static/script.js +0 -0
  191. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/static/styles.css +0 -0
  192. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/static/usage_widget.js +0 -0
  193. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/templates/alpha_inspector.html +0 -0
  194. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/README.md +0 -0
  195. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/ace.log +0 -0
  196. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/enhance_template.py +0 -0
  197. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/requirements.txt +0 -0
  198. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/run_pipeline.py +0 -0
  199. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/run_pipeline_step_by_step.ipynb +0 -0
  200. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/OUTPUT_TEMPLATE.md +0 -0
  201. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/examples.md +0 -0
  202. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/output_report/ASI_delay1_analyst11_ideas.md +0 -0
  203. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/output_report/GLB_delay1_fundamental28_ideas.md +0 -0
  204. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/output_report/GLB_delay1_fundamental72_ideas.md +0 -0
  205. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-data-feature-engineering/reference.md +0 -0
  206. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/SKILL.md +0 -0
  207. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/config.json +0 -0
  208. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709385783386000.json +0 -0
  209. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709386274840400.json +0 -0
  210. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709386838244700.json +0 -0
  211. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709387369198500.json +0 -0
  212. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709387908905800.json +0 -0
  213. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709388486243600.json +0 -0
  214. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709389024058600.json +0 -0
  215. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709389549608700.json +0 -0
  216. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709390068714000.json +0 -0
  217. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709390591996900.json +0 -0
  218. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709391129137100.json +0 -0
  219. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709391691643500.json +0 -0
  220. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709392192099200.json +0 -0
  221. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709392703423500.json +0 -0
  222. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769709393213729400.json +0 -0
  223. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710186683932500.json +0 -0
  224. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710187165414300.json +0 -0
  225. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710187665211700.json +0 -0
  226. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710188149193400.json +0 -0
  227. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710188667627400.json +0 -0
  228. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710189220822000.json +0 -0
  229. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710189726189500.json +0 -0
  230. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710190248066100.json +0 -0
  231. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710190768298700.json +0 -0
  232. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710191282588100.json +0 -0
  233. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710191838960900.json +0 -0
  234. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710192396688000.json +0 -0
  235. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710192941922400.json +0 -0
  236. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710193473524600.json +0 -0
  237. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710194001961200.json +0 -0
  238. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710420975888800.json +0 -0
  239. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710421647590100.json +0 -0
  240. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710422131378500.json +0 -0
  241. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710422644184400.json +0 -0
  242. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710423702350600.json +0 -0
  243. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_1_idea_1769710424244661800.json +0 -0
  244. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/analyst11_ASI_delay1.csv +0 -0
  245. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/analyst11_ASI_delay1/final_expressions.json +0 -0
  246. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/final_expressions.json +0 -0
  247. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874844124598400.json +0 -0
  248. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874844589448700.json +0 -0
  249. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874845048996700.json +0 -0
  250. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874845510819100.json +0 -0
  251. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874845978315000.json +0 -0
  252. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874846459411100.json +0 -0
  253. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874846924915700.json +0 -0
  254. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874847399137200.json +0 -0
  255. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874847858960800.json +0 -0
  256. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874848327921300.json +0 -0
  257. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874848810818000.json +0 -0
  258. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874849327754300.json +0 -0
  259. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874849795807500.json +0 -0
  260. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874850272279500.json +0 -0
  261. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874850757124200.json +0 -0
  262. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_1_idea_1769874851224506800.json +0 -0
  263. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental28_GLB_delay1/fundamental28_GLB_delay1.csv +0 -0
  264. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/final_expressions.json +0 -0
  265. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852468022627100.json +0 -0
  266. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852468554457600.json +0 -0
  267. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852469133324600.json +0 -0
  268. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852469704433900.json +0 -0
  269. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852470248911900.json +0 -0
  270. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852470805192900.json +0 -0
  271. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852471380158000.json +0 -0
  272. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852471944247400.json +0 -0
  273. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852472483548800.json +0 -0
  274. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852473053891800.json +0 -0
  275. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852473617716000.json +0 -0
  276. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852474172815700.json +0 -0
  277. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852474735778500.json +0 -0
  278. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852475315478500.json +0 -0
  279. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852475912897000.json +0 -0
  280. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852476474911100.json +0 -0
  281. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852978914367200.json +0 -0
  282. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852979426164800.json +0 -0
  283. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852979945511100.json +0 -0
  284. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852980480251500.json +0 -0
  285. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769852981007315500.json +0 -0
  286. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854621979784200.json +0 -0
  287. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854622483457900.json +0 -0
  288. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854623010559800.json +0 -0
  289. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854623572902300.json +0 -0
  290. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_1_idea_1769854624091016000.json +0 -0
  291. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_delay1.csv +0 -0
  292. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_delay1.csv.bak_1769852868 +0 -0
  293. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/data/fundamental72_GLB_delay1/fundamental72_GLB_delay1.csv.bak_1769854511 +0 -0
  294. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/ace.log +0 -0
  295. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/ace_lib.py +0 -0
  296. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/fetch_dataset.py +0 -0
  297. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/helpful_functions.py +0 -0
  298. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/implement_idea.py +0 -0
  299. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/merge_expression_list.py +0 -0
  300. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/parsetab.py +0 -0
  301. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/template_final_enhance/op/346/200/273/347/273/223.md" +0 -0
  302. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/trailSomeAlphas/skills/template_final_enhance/sample_prompt.md +0 -0
  303. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  304. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP/usage.md +0 -0
  305. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP//347/274/230/345/210/206/344/270/200/351/201/223/346/241/245/ace_lib.py" +0 -0
  306. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP//347/274/230/345/210/206/344/270/200/351/201/223/346/241/245/brain_alpha_inspector.py" +0 -0
  307. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/APP//347/274/230/345/210/206/344/270/200/351/201/223/346/241/245/helpful_functions.py" +0 -0
  308. {cnhkmcp-2.3.4/cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting/scripts → cnhkmcp-2.3.6/cnhkmcp/untracked}/__init__.py +0 -0
  309. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/arXiv_API_Tool_Manual.md +0 -0
  310. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/back_up/platform_functions.py +0 -0
  311. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/brain-consultant.md +0 -0
  312. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  313. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  314. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  315. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  316. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/sample_mcp_config.json +0 -0
  317. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/Claude_Skill_Creation_Guide.md +0 -0
  318. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/alpha-expression-verifier/SKILL.md +0 -0
  319. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/alpha-expression-verifier/scripts/parsetab.py +0 -0
  320. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/alpha-expression-verifier/scripts/verify_expr.py +0 -0
  321. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-calculate-alpha-selfcorrQuick/SKILL.md +0 -0
  322. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-calculate-alpha-selfcorrQuick/reference.md +0 -0
  323. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-calculate-alpha-selfcorrQuick/scripts/requirements.txt +0 -0
  324. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-calculate-alpha-selfcorrQuick/scripts/skill.py +0 -0
  325. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-data-feature-engineering/OUTPUT_TEMPLATE.md +0 -0
  326. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-data-feature-engineering/SKILL.md +0 -0
  327. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-data-feature-engineering/examples.md +0 -0
  328. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-data-feature-engineering/reference.md +0 -0
  329. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-datafield-exploration-general/SKILL.md +0 -0
  330. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-datafield-exploration-general/reference.md +0 -0
  331. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-dataset-exploration-general/SKILL.md +0 -0
  332. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-dataset-exploration-general/reference.md +0 -0
  333. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-explain-alphas/SKILL.md +0 -0
  334. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-explain-alphas/reference.md +0 -0
  335. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/SKILL.md +0 -0
  336. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/config.json +0 -0
  337. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/analyst15_GLB_delay1.csv +0 -0
  338. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/final_expressions.json +0 -0
  339. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588244.json +0 -0
  340. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588251.json +0 -0
  341. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588273.json +0 -0
  342. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588293.json +0 -0
  343. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588319.json +0 -0
  344. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588322.json +0 -0
  345. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588325.json +0 -0
  346. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588328.json +0 -0
  347. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588354.json +0 -0
  348. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588357.json +0 -0
  349. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588361.json +0 -0
  350. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588364.json +0 -0
  351. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588368.json +0 -0
  352. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588391.json +0 -0
  353. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588394.json +0 -0
  354. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588397.json +0 -0
  355. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588400.json +0 -0
  356. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588403.json +0 -0
  357. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588428.json +0 -0
  358. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588431.json +0 -0
  359. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588434.json +0 -0
  360. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588438.json +0 -0
  361. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588441.json +0 -0
  362. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/data/analyst15_GLB_delay1/idea_1768588468.json +0 -0
  363. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/scripts/ace_lib.py +0 -0
  364. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/scripts/fetch_dataset.py +0 -0
  365. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/scripts/helpful_functions.py +0 -0
  366. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/scripts/implement_idea.py +0 -0
  367. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-feature-implementation/scripts/merge_expression_list.py +0 -0
  368. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-how-to-pass-AlphaTest/SKILL.md +0 -0
  369. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-how-to-pass-AlphaTest/reference.md +0 -0
  370. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-improve-alpha-performance/SKILL.md +0 -0
  371. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-improve-alpha-performance/arXiv_API_Tool_Manual.md +0 -0
  372. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-improve-alpha-performance/reference.md +0 -0
  373. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-improve-alpha-performance/scripts/arxiv_api.py +0 -0
  374. {cnhkmcp-2.3.4/cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting → cnhkmcp-2.3.6/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting}/.gitignore +0 -0
  375. {cnhkmcp-2.3.4/cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting → cnhkmcp-2.3.6/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting}/ace_lib.py +0 -0
  376. {cnhkmcp-2.3.4/cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting → cnhkmcp-2.3.6/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting}/config.json +0 -0
  377. {cnhkmcp-2.3.4/cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting → cnhkmcp-2.3.6/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting}/fundamental28_GLB_1_idea_1769874845978315000.json +0 -0
  378. {cnhkmcp-2.3.4/cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting → cnhkmcp-2.3.6/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting}/helpful_functions.py +0 -0
  379. {cnhkmcp-2.3.4/cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting → cnhkmcp-2.3.6/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting}/scripts/build_alpha_list.py +0 -0
  380. {cnhkmcp-2.3.4/cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting → cnhkmcp-2.3.6/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting}/scripts/fetch_sim_options.py +0 -0
  381. {cnhkmcp-2.3.4/cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting → cnhkmcp-2.3.6/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting}/scripts/load_credentials.py +0 -0
  382. {cnhkmcp-2.3.4/cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting → cnhkmcp-2.3.6/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting}/scripts/process_template.py +0 -0
  383. {cnhkmcp-2.3.4/cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting → cnhkmcp-2.3.6/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting}/scripts/resolve_settings.py +0 -0
  384. {cnhkmcp-2.3.4/cnhkmcp/untracked/skills/brain-inspectTemplate-create-Setting → cnhkmcp-2.3.6/cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting}/sim_options_snapshot.json +0 -0
  385. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-nextMove-analysis/SKILL.md +0 -0
  386. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/brain-nextMove-analysis/reference.md +0 -0
  387. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/planning-with-files/SKILL.md +0 -0
  388. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/planning-with-files/examples.md +0 -0
  389. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/planning-with-files/reference.md +0 -0
  390. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/planning-with-files/scripts/check-complete.sh +0 -0
  391. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/planning-with-files/scripts/init-session.sh +0 -0
  392. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/planning-with-files/templates/findings.md +0 -0
  393. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/planning-with-files/templates/progress.md +0 -0
  394. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/planning-with-files/templates/task_plan.md +0 -0
  395. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/pull_BRAINSkill/SKILL.md +0 -0
  396. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/skills/pull_BRAINSkill/scripts/pull_skills.py +0 -0
  397. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked/user_config.json +0 -0
  398. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  399. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked//347/244/272/344/276/213/345/267/245/344/275/234/346/265/201_Alpha_explaination_workflow.md" +0 -0
  400. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/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
  401. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked//347/244/272/344/276/213/345/267/245/344/275/234/346/265/201_BRAIN_Alpha_Improvement_Workflow.md" +0 -0
  402. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked//347/244/272/344/276/213/345/267/245/344/275/234/346/265/201_Dataset_Exploration_Expert_Manual.md" +0 -0
  403. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/untracked//347/244/272/344/276/213/345/267/245/344/275/234/346/265/201_daily_report_workflow.md" +0 -0
  404. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/vector_db/_manifest.json +0 -0
  405. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp/vector_db/_meta.json +0 -0
  406. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp.egg-info/dependency_links.txt +0 -0
  407. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp.egg-info/entry_points.txt +0 -0
  408. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp.egg-info/not-zip-safe +0 -0
  409. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp.egg-info/requires.txt +0 -0
  410. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/cnhkmcp.egg-info/top_level.txt +0 -0
  411. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/requirements.txt +0 -0
  412. {cnhkmcp-2.3.4 → cnhkmcp-2.3.6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cnhkmcp
3
- Version: 2.3.4
3
+ Version: 2.3.6
4
4
  Summary: A comprehensive Model Context Protocol (MCP) server for quantitative trading platform integration
5
5
  Home-page: https://github.com/cnhk/cnhkmcp
6
6
  Author: CNHK
@@ -50,7 +50,7 @@ from .untracked.forum_functions import (
50
50
  read_full_forum_post
51
51
  )
52
52
 
53
- __version__ = "2.3.4"
53
+ __version__ = "2.3.6"
54
54
  __author__ = "CNHK"
55
55
  __email__ = "cnhk@example.com"
56
56
 
@@ -14,9 +14,12 @@ import sys
14
14
 
15
15
  # try set gbk problem
16
16
  try:
17
- sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
18
- except Exception as e:
19
- print(e)
17
+ import io
18
+ if hasattr(sys.stdout, 'reconfigure'):
19
+ sys.stdout.reconfigure(encoding='utf-8')
20
+ elif hasattr(sys.stdout, 'buffer'):
21
+ sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
22
+ except Exception:
20
23
  pass
21
24
 
22
25
  # --- Auto-Install Dependencies ---
@@ -18,9 +18,11 @@ import io
18
18
 
19
19
  # try set gbk problem
20
20
  try:
21
- sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
22
- except Exception as e:
23
- print(e)
21
+ if hasattr(sys.stdout, 'reconfigure'):
22
+ sys.stdout.reconfigure(encoding='utf-8')
23
+ elif hasattr(sys.stdout, 'buffer'):
24
+ sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
25
+ except Exception:
24
26
  pass
25
27
 
26
28
  # 获取脚本所在目录(项目根目录)
@@ -65,51 +65,65 @@ supported_functions = {
65
65
  'ts_delay': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number']},
66
66
  'ts_corr': {'min_args': 3, 'max_args': 3, 'arg_types': ['expression', 'expression', 'number']},
67
67
  'ts_zscore': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number']},
68
- 'ts_returns': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'number', 'number'], 'param_names': ['x', 'd', 'mode']},
68
+ 'ts_returns': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'number', 'number'], 'param_names': ['x', 'd', 'mode'], 'keyword_only': True},
69
69
  'ts_product': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number']},
70
- 'ts_backfill': {'min_args': 2, 'max_args': 4, 'arg_types': ['expression', 'number', 'number', 'string']},
70
+ # Platform: ts_backfill(x, d)
71
+ 'ts_backfill': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number'], 'param_names': ['x', 'd']},
71
72
  'days_from_last_change': {'min_args': 1, 'max_args': 1, 'arg_types': ['expression']},
72
73
  'last_diff_value': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number']},
73
- 'ts_scale': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'number', 'number']},
74
- 'ts_entropy': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'expression', 'number'], 'param_names': ['x', 'd', 'buckets']},
74
+ # Platform: ts_scale(x, d, constant=0)
75
+ 'ts_scale': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'number', 'number'], 'param_names': ['x', 'd', 'constant'], 'keyword_only': True},
76
+ # Platform: ts_entropy(x, d)
77
+ 'ts_entropy': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number'], 'param_names': ['x', 'd']},
75
78
  'ts_step': {'min_args': 1, 'max_args': 1, 'arg_types': ['number']},
76
79
  'ts_sum': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number']},
77
80
  'ts_co_kurtosis': {'min_args': 3, 'max_args': 3, 'arg_types': ['expression', 'expression', 'number']},
78
81
  'inst_tvr': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number']},
79
- 'ts_decay_exp_window': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'number', 'number'], 'param_names': ['x', 'd', 'factor']},
82
+ 'ts_decay_exp_window': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'number', 'number'], 'param_names': ['x', 'd', 'factor'], 'keyword_only': True},
80
83
  'ts_av_diff': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number']},
81
84
  'ts_kurtosis': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number']},
82
- 'ts_min_max_diff': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'number', 'number']},
85
+ # Platform: ts_min_max_diff(x, d, f=0.5)
86
+ 'ts_min_max_diff': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'number', 'number'], 'param_names': ['x', 'd', 'f'], 'keyword_only': True},
83
87
  'ts_arg_max': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number']},
84
88
  'ts_max': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number']},
85
- 'ts_min_max_cps': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'number', 'number']},
86
- 'ts_rank': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'number', 'number']},
89
+ # Platform: ts_min_max_cps(x, d, f=2)
90
+ 'ts_min_max_cps': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'number', 'number'], 'param_names': ['x', 'd', 'f'], 'keyword_only': True},
91
+ # Platform: ts_rank(x, d, constant=0)
92
+ 'ts_rank': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'number', 'number'], 'param_names': ['x', 'd', 'constant'], 'keyword_only': True},
87
93
  'ts_ir': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number']},
88
94
  'ts_theilsen': {'min_args': 3, 'max_args': 3, 'arg_types': ['expression', 'expression', 'number']},
89
- 'hump_decay': {'min_args': 1, 'max_args': 2, 'arg_types': ['expression', 'number']},
90
- 'ts_weighted_decay': {'min_args': 1, 'max_args': 2, 'arg_types': ['expression', 'number']},
91
- 'ts_quantile': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'number', 'string']},
95
+ # Platform: hump_decay(x, p=0)
96
+ 'hump_decay': {'min_args': 1, 'max_args': 2, 'arg_types': ['expression', 'number'], 'param_names': ['x', 'p'], 'keyword_only': True},
97
+ # Platform: ts_weighted_decay(x, k=0.5)
98
+ 'ts_weighted_decay': {'min_args': 1, 'max_args': 2, 'arg_types': ['expression', 'number'], 'param_names': ['x', 'k'], 'keyword_only': True},
99
+ # Platform: ts_quantile(x, d, driver="gaussian")
100
+ 'ts_quantile': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'number', 'string'], 'param_names': ['x', 'd', 'driver'], 'keyword_only': True},
92
101
  'ts_min': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number']},
93
102
  'ts_count_nans': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number']},
94
103
  'ts_covariance': {'min_args': 3, 'max_args': 3, 'arg_types': ['expression', 'expression', 'number']},
95
104
  'ts_co_skewness': {'min_args': 3, 'max_args': 3, 'arg_types': ['expression', 'expression', 'number']},
96
105
  'ts_min_diff': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number']},
97
- 'ts_decay_linear': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'number', 'boolean']},
98
- 'jump_decay': {'min_args': 2, 'max_args': 5, 'arg_types': ['expression', 'number', 'expression', 'number', 'number'], 'param_names': ['x', 'd', 'stddev', 'sensitivity', 'force']},
99
- 'ts_moment': {'min_args': 3, 'max_args': 3, 'arg_types': ['expression', 'number', 'number'], 'param_names': ['x', 'd', 'k']},
106
+ # Platform: ts_decay_linear(x, d, dense=false)
107
+ 'ts_decay_linear': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'number', 'boolean'], 'param_names': ['x', 'd', 'dense'], 'keyword_only': True},
108
+ # Platform: jump_decay(x, d, sensitivity=0.5, force=0.1)
109
+ 'jump_decay': {'min_args': 2, 'max_args': 4, 'arg_types': ['expression', 'number', 'number', 'number'], 'param_names': ['x', 'd', 'sensitivity', 'force'], 'keyword_only': True},
110
+ # Platform: ts_moment(x, d, k=0)
111
+ 'ts_moment': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'number', 'number'], 'param_names': ['x', 'd', 'k'], 'keyword_only': True},
100
112
  'ts_arg_min': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number']},
101
- 'ts_regression': {'min_args': 3, 'max_args': 5, 'arg_types': ['expression', 'expression', 'number', 'number', 'number'], 'param_names': ['y', 'x', 'd', 'lag', 'rettype']},
113
+ 'ts_regression': {'min_args': 3, 'max_args': 5, 'arg_types': ['expression', 'expression', 'number', 'number', 'number'], 'param_names': ['y', 'x', 'd', 'lag', 'rettype'], 'keyword_only': True},
102
114
  'ts_skewness': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number']},
103
115
  'ts_max_diff': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number']},
104
116
  'kth_element': {'min_args': 3, 'max_args': 3, 'arg_types': ['expression', 'number', 'number']},
105
117
  'hump': {'min_args': 1, 'max_args': 2, 'arg_types': ['expression', 'number'], 'param_names': ['x', 'hump']},
106
118
  'ts_median': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number']},
107
119
  'ts_delta': {'min_args': 2, 'max_args': 2, 'arg_types': ['expression', 'number']},
108
- 'ts_poly_regression': {'min_args': 3, 'max_args': 4, 'arg_types': ['expression', 'expression', 'number', 'number']},
109
- 'ts_target_tvr_decay': {'min_args': 1, 'max_args': 4, 'arg_types': ['expression', 'number', 'number', 'number'], 'param_names': ['x', 'lambda_min', 'lambda_max', 'target_tvr']},
110
- 'ts_target_tvr_delta_limit': {'min_args': 2, 'max_args': 5, 'arg_types': ['expression', 'expression', 'number', 'number', 'number']},
111
- 'ts_target_tvr_hump': {'min_args': 1, 'max_args': 4, 'arg_types': ['expression', 'number', 'number', 'number']},
112
- 'ts_delta_limit': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'expression', 'number']},
120
+ # Platform: ts_poly_regression(y, x, d, k=1) and k must be keyword if provided
121
+ 'ts_poly_regression': {'min_args': 3, 'max_args': 4, 'arg_types': ['expression', 'expression', 'number', 'number'], 'param_names': ['y', 'x', 'd', 'k'], 'keyword_only': True, 'keyword_only_from': 3},
122
+ 'ts_target_tvr_decay': {'min_args': 1, 'max_args': 4, 'arg_types': ['expression', 'number', 'number', 'number'], 'param_names': ['x', 'lambda_min', 'lambda_max', 'target_tvr'], 'keyword_only': True},
123
+ 'ts_target_tvr_delta_limit': {'min_args': 2, 'max_args': 5, 'arg_types': ['expression', 'expression', 'number', 'number', 'number'], 'param_names': ['x', 'y', 'lambda_min', 'lambda_max', 'target_tvr'], 'keyword_only': True},
124
+ 'ts_target_tvr_hump': {'min_args': 1, 'max_args': 4, 'arg_types': ['expression', 'number', 'number', 'number'], 'param_names': ['x', 'lambda_min', 'lambda_max', 'target_tvr'], 'keyword_only': True},
125
+ # Platform: ts_delta_limit(x, y, limit_volume=0.1)
126
+ 'ts_delta_limit': {'min_args': 2, 'max_args': 3, 'arg_types': ['expression', 'expression', 'number'], 'param_names': ['x', 'y', 'limit_volume'], 'keyword_only': True},
113
127
 
114
128
  # Special 类别函数
115
129
  'inst_pnl': {'min_args': 1, 'max_args': 1, 'arg_types': ['expression']},
@@ -276,6 +290,10 @@ class ExpressionValidator:
276
290
  self.parser = yacc.yacc(module=self, debug=False)
277
291
  # 错误信息存储
278
292
  self.errors = []
293
+ # Cache for unit inference (unit/scalar/category)
294
+ self._unit_cache: Dict[int, str] = {}
295
+ # Cache for derived category detection (bucket/group_cartesian_product outputs)
296
+ self._derived_category_cache: Dict[int, bool] = {}
279
297
 
280
298
  # 词法分析器规则
281
299
  tokens = ('FUNCTION', 'FIELD', 'NUMBER', 'LPAREN', 'RPAREN',
@@ -509,6 +527,12 @@ class ExpressionValidator:
509
527
  return self._validate_add(args, is_in_group_arg)
510
528
 
511
529
  errors = []
530
+
531
+ # Keyword-only enforcement for optional parameters.
532
+ # If enabled, only the required leading arguments can be positional.
533
+ keyword_only_from = function_info.get('keyword_only_from')
534
+ if keyword_only_from is None and function_info.get('keyword_only'):
535
+ keyword_only_from = function_info.get('min_args', 0)
512
536
 
513
537
  # 检查参数数量
514
538
  if len(args) < function_info['min_args']:
@@ -545,12 +569,14 @@ class ExpressionValidator:
545
569
  errors.append(f"函数 {function_name} 不存在参数 '{arg['name']}'")
546
570
  elif arg['type'] == 'positional':
547
571
  # 位置参数(字典形式)
548
- # 对于winsorize函数,第二个参数必须是命名参数
549
- if function_name == 'winsorize' and positional_index == 1:
550
- errors.append(f"函数 {function_name} 的第二个参数必须使用命名参数 'std='")
551
- # 对于ts_moment函数,第三个参数必须是命名参数
552
- elif function_name == 'ts_moment' and positional_index == 2:
553
- errors.append(f"函数 {function_name} 的第三个参数必须使用命名参数 'k='")
572
+ if keyword_only_from is not None and positional_index >= keyword_only_from:
573
+ param_name = None
574
+ if 'param_names' in function_info and positional_index < len(function_info['param_names']):
575
+ param_name = function_info['param_names'][positional_index]
576
+ if param_name:
577
+ errors.append(f"函数 {function_name} 的第{positional_index+1}个参数必须使用命名参数 '{param_name}='")
578
+ else:
579
+ errors.append(f"函数 {function_name} 的第{positional_index+1}个参数必须使用命名参数")
554
580
  else:
555
581
  # 验证位置参数的类型
556
582
  if positional_index < len(function_info['arg_types']):
@@ -564,12 +590,14 @@ class ExpressionValidator:
564
590
  positional_index += 1
565
591
  else:
566
592
  # 位置参数(直接ASTNode形式)
567
- # 对于winsorize函数,第二个参数必须是命名参数
568
- if function_name == 'winsorize' and positional_index == 1:
569
- errors.append(f"函数 {function_name} 的第二个参数必须使用命名参数 'std='")
570
- # 对于ts_moment函数,第三个参数必须是命名参数
571
- elif function_name == 'ts_moment' and positional_index == 2:
572
- errors.append(f"函数 {function_name} 的第三个参数必须使用命名参数 'k='")
593
+ if keyword_only_from is not None and positional_index >= keyword_only_from:
594
+ param_name = None
595
+ if 'param_names' in function_info and positional_index < len(function_info['param_names']):
596
+ param_name = function_info['param_names'][positional_index]
597
+ if param_name:
598
+ errors.append(f"函数 {function_name} 的第{positional_index+1}个参数必须使用命名参数 '{param_name}='")
599
+ else:
600
+ errors.append(f"函数 {function_name} 的第{positional_index+1}个参数必须使用命名参数")
573
601
  else:
574
602
  # 验证位置参数的类型
575
603
  if positional_index < len(function_info['arg_types']):
@@ -583,6 +611,15 @@ class ExpressionValidator:
583
611
  def _validate_arg_type(self, arg: ASTNode, expected_type: str, arg_index: int, function_name: str, is_in_group_arg: bool = False) -> List[str]:
584
612
  """验证参数类型是否符合预期"""
585
613
  errors = []
614
+
615
+ # Unit compatibility check
616
+ # bucket()/group_cartesian_product() output a derived category (grouping key).
617
+ # It can only be consumed where a category/grouping key is expected.
618
+ if self._is_derived_category(arg) and expected_type != 'category':
619
+ errors.append(
620
+ f"Incompatible unit for input of \"{function_name}\" at index {arg_index}, expected \"Unit[]\", found \"Unit[Group:1]\""
621
+ )
622
+ return errors
586
623
 
587
624
  # 首先检查是否是group类型字段,如果是则只能用于Group类型函数
588
625
  # 但是如果当前函数是group_xxx或在group函数的参数链中,则允许使用
@@ -618,6 +655,83 @@ class ExpressionValidator:
618
655
 
619
656
  return errors
620
657
 
658
+ def _infer_unit(self, node: ASTNode) -> str:
659
+ """Infer the Unit kind of an AST node.
660
+
661
+ Returns:
662
+ 'unit' - regular numeric time-series Unit[]
663
+ 'scalar' - literals (numbers/booleans/strings)
664
+ 'category' - category/grouping keys (industry/sector or derived via bucket/cartesian)
665
+ """
666
+ if node is None:
667
+ return 'unit'
668
+
669
+ cache_key = id(node)
670
+ cached = self._unit_cache.get(cache_key)
671
+ if cached is not None:
672
+ return cached
673
+
674
+ unit = 'unit'
675
+
676
+ if node.node_type in {'number', 'boolean', 'string'}:
677
+ unit = 'scalar'
678
+ elif node.node_type in {'field', 'identifier'}:
679
+ unit = 'unit'
680
+ elif node.node_type == 'category':
681
+ unit = 'category'
682
+ elif node.node_type in {'unop', 'binop'}:
683
+ child_units = [self._infer_unit(child) for child in node.children if hasattr(child, 'node_type')]
684
+ unit = 'category' if 'category' in child_units else 'unit'
685
+ elif node.node_type == 'function':
686
+ fname = node.value
687
+ if fname in {'bucket', 'group_cartesian_product'}:
688
+ unit = 'category'
689
+ else:
690
+ first_arg = None
691
+ for child in node.children:
692
+ if isinstance(child, dict):
693
+ if child.get('type') == 'positional':
694
+ first_arg = child.get('value')
695
+ break
696
+ else:
697
+ first_arg = child
698
+ break
699
+ if hasattr(first_arg, 'node_type'):
700
+ unit = self._infer_unit(first_arg)
701
+ else:
702
+ unit = 'unit'
703
+
704
+ self._unit_cache[cache_key] = unit
705
+ return unit
706
+
707
+ def _is_derived_category(self, node: ASTNode) -> bool:
708
+ """Return True if node is a derived category/grouping key (e.g., bucket/cartesian output)."""
709
+ if node is None:
710
+ return False
711
+
712
+ cache_key = id(node)
713
+ cached = self._derived_category_cache.get(cache_key)
714
+ if cached is not None:
715
+ return cached
716
+
717
+ derived = False
718
+ if node.node_type == 'function' and node.value in {'bucket', 'group_cartesian_product'}:
719
+ derived = True
720
+ elif node.node_type in {'unop', 'binop'}:
721
+ derived = any(
722
+ self._is_derived_category(child)
723
+ for child in node.children
724
+ if hasattr(child, 'node_type')
725
+ )
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
+
732
+ self._derived_category_cache[cache_key] = derived
733
+ return derived
734
+
621
735
  def _validate_add(self, args: List[Any], is_in_group_arg: bool = False) -> List[str]:
622
736
  """Validate add(x, y, ..., filter=false).
623
737
 
@@ -883,6 +997,9 @@ class ExpressionValidator:
883
997
  """
884
998
  # 重置错误列表
885
999
  self.errors = []
1000
+ # Reset unit inference cache for this expression
1001
+ self._unit_cache = {}
1002
+ self._derived_category_cache = {}
886
1003
 
887
1004
  try:
888
1005
  expression = expression.strip()
@@ -17,9 +17,11 @@ import sys
17
17
  import io
18
18
  # try set gbk problem
19
19
  try:
20
- sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
21
- except Exception as e:
22
- print(e)
20
+ if hasattr(sys.stdout, 'reconfigure'):
21
+ sys.stdout.reconfigure(encoding='utf-8')
22
+ elif hasattr(sys.stdout, 'buffer'):
23
+ sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
24
+ except Exception:
23
25
  pass
24
26
  from helpful_functions import (
25
27
  expand_dict_columns,
@@ -0,0 +1,60 @@
1
+
2
+ # parsetab.py
3
+ # This file is automatically generated. Do not edit.
4
+ # pylint: disable=W,C,R
5
+ _tabversion = '3.10'
6
+
7
+ _lr_method = 'LALR'
8
+
9
+ _lr_signature = 'ASSIGN BOOLEAN CATEGORY COMMA DIVIDE EQUAL FIELD FUNCTION GREATER GREATEREQUAL IDENTIFIER LESS LESSEQUAL LPAREN MINUS NOTEQUAL NUMBER PLUS RPAREN STRING TIMESexpression : comparison\n| expression EQUAL comparison\n| expression NOTEQUAL comparison\n| expression GREATER comparison\n| expression LESS comparison\n| expression GREATEREQUAL comparison\n| expression LESSEQUAL comparisoncomparison : term\n| comparison PLUS term\n| comparison MINUS termterm : factor\n| term TIMES factor\n| term DIVIDE factorfactor : NUMBER\n| STRING\n| FIELD\n| CATEGORY\n| IDENTIFIER\n| BOOLEAN\n| MINUS factor\n| LPAREN expression RPAREN\n| function_callfunction_call : FUNCTION LPAREN args RPARENargs : arg_list\n| emptyarg_list : arg\n| arg_list COMMA argarg : expression\n| IDENTIFIER ASSIGN expressionempty :'
10
+
11
+ _lr_action_items = {'NUMBER':([0,4,12,15,16,17,18,19,20,21,22,23,24,27,46,47,],[6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,]),'STRING':([0,4,12,15,16,17,18,19,20,21,22,23,24,27,46,47,],[7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,]),'FIELD':([0,4,12,15,16,17,18,19,20,21,22,23,24,27,46,47,],[8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,]),'CATEGORY':([0,4,12,15,16,17,18,19,20,21,22,23,24,27,46,47,],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,]),'IDENTIFIER':([0,4,12,15,16,17,18,19,20,21,22,23,24,27,46,47,],[10,10,10,10,10,10,10,10,10,10,10,10,10,44,44,10,]),'BOOLEAN':([0,4,12,15,16,17,18,19,20,21,22,23,24,27,46,47,],[11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,]),'MINUS':([0,2,3,4,5,6,7,8,9,10,11,12,13,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,44,45,46,47,],[4,22,-8,4,-11,-14,-15,-16,-17,-18,-19,4,-22,4,4,4,4,4,4,4,4,4,4,-20,4,22,22,22,22,22,22,-9,-10,-12,-13,-21,-18,-23,4,4,]),'LPAREN':([0,4,12,14,15,16,17,18,19,20,21,22,23,24,27,46,47,],[12,12,12,27,12,12,12,12,12,12,12,12,12,12,12,12,12,]),'FUNCTION':([0,4,12,15,16,17,18,19,20,21,22,23,24,27,46,47,],[14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,]),'$end':([1,2,3,5,6,7,8,9,10,11,13,25,28,29,30,31,32,33,34,35,36,37,38,45,],[0,-1,-8,-11,-14,-15,-16,-17,-18,-19,-22,-20,-2,-3,-4,-5,-6,-7,-9,-10,-12,-13,-21,-23,]),'EQUAL':([1,2,3,5,6,7,8,9,10,11,13,25,26,28,29,30,31,32,33,34,35,36,37,38,43,44,45,49,],[15,-1,-8,-11,-14,-15,-16,-17,-18,-19,-22,-20,15,-2,-3,-4,-5,-6,-7,-9,-10,-12,-13,-21,15,-18,-23,15,]),'NOTEQUAL':([1,2,3,5,6,7,8,9,10,11,13,25,26,28,29,30,31,32,33,34,35,36,37,38,43,44,45,49,],[16,-1,-8,-11,-14,-15,-16,-17,-18,-19,-22,-20,16,-2,-3,-4,-5,-6,-7,-9,-10,-12,-13,-21,16,-18,-23,16,]),'GREATER':([1,2,3,5,6,7,8,9,10,11,13,25,26,28,29,30,31,32,33,34,35,36,37,38,43,44,45,49,],[17,-1,-8,-11,-14,-15,-16,-17,-18,-19,-22,-20,17,-2,-3,-4,-5,-6,-7,-9,-10,-12,-13,-21,17,-18,-23,17,]),'LESS':([1,2,3,5,6,7,8,9,10,11,13,25,26,28,29,30,31,32,33,34,35,36,37,38,43,44,45,49,],[18,-1,-8,-11,-14,-15,-16,-17,-18,-19,-22,-20,18,-2,-3,-4,-5,-6,-7,-9,-10,-12,-13,-21,18,-18,-23,18,]),'GREATEREQUAL':([1,2,3,5,6,7,8,9,10,11,13,25,26,28,29,30,31,32,33,34,35,36,37,38,43,44,45,49,],[19,-1,-8,-11,-14,-15,-16,-17,-18,-19,-22,-20,19,-2,-3,-4,-5,-6,-7,-9,-10,-12,-13,-21,19,-18,-23,19,]),'LESSEQUAL':([1,2,3,5,6,7,8,9,10,11,13,25,26,28,29,30,31,32,33,34,35,36,37,38,43,44,45,49,],[20,-1,-8,-11,-14,-15,-16,-17,-18,-19,-22,-20,20,-2,-3,-4,-5,-6,-7,-9,-10,-12,-13,-21,20,-18,-23,20,]),'RPAREN':([2,3,5,6,7,8,9,10,11,13,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,48,49,],[-1,-8,-11,-14,-15,-16,-17,-18,-19,-22,-20,38,-30,-2,-3,-4,-5,-6,-7,-9,-10,-12,-13,-21,45,-24,-25,-26,-28,-18,-23,-27,-29,]),'COMMA':([2,3,5,6,7,8,9,10,11,13,25,28,29,30,31,32,33,34,35,36,37,38,40,42,43,44,45,48,49,],[-1,-8,-11,-14,-15,-16,-17,-18,-19,-22,-20,-2,-3,-4,-5,-6,-7,-9,-10,-12,-13,-21,46,-26,-28,-18,-23,-27,-29,]),'PLUS':([2,3,5,6,7,8,9,10,11,13,25,28,29,30,31,32,33,34,35,36,37,38,44,45,],[21,-8,-11,-14,-15,-16,-17,-18,-19,-22,-20,21,21,21,21,21,21,-9,-10,-12,-13,-21,-18,-23,]),'TIMES':([3,5,6,7,8,9,10,11,13,25,34,35,36,37,38,44,45,],[23,-11,-14,-15,-16,-17,-18,-19,-22,-20,23,23,-12,-13,-21,-18,-23,]),'DIVIDE':([3,5,6,7,8,9,10,11,13,25,34,35,36,37,38,44,45,],[24,-11,-14,-15,-16,-17,-18,-19,-22,-20,24,24,-12,-13,-21,-18,-23,]),'ASSIGN':([44,],[47,]),}
12
+
13
+ _lr_action = {}
14
+ for _k, _v in _lr_action_items.items():
15
+ for _x,_y in zip(_v[0],_v[1]):
16
+ if not _x in _lr_action: _lr_action[_x] = {}
17
+ _lr_action[_x][_k] = _y
18
+ del _lr_action_items
19
+
20
+ _lr_goto_items = {'expression':([0,12,27,46,47,],[1,26,43,43,49,]),'comparison':([0,12,15,16,17,18,19,20,27,46,47,],[2,2,28,29,30,31,32,33,2,2,2,]),'term':([0,12,15,16,17,18,19,20,21,22,27,46,47,],[3,3,3,3,3,3,3,3,34,35,3,3,3,]),'factor':([0,4,12,15,16,17,18,19,20,21,22,23,24,27,46,47,],[5,25,5,5,5,5,5,5,5,5,5,36,37,5,5,5,]),'function_call':([0,4,12,15,16,17,18,19,20,21,22,23,24,27,46,47,],[13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,]),'args':([27,],[39,]),'arg_list':([27,],[40,]),'empty':([27,],[41,]),'arg':([27,46,],[42,48,]),}
21
+
22
+ _lr_goto = {}
23
+ for _k, _v in _lr_goto_items.items():
24
+ for _x, _y in zip(_v[0], _v[1]):
25
+ if not _x in _lr_goto: _lr_goto[_x] = {}
26
+ _lr_goto[_x][_k] = _y
27
+ del _lr_goto_items
28
+ _lr_productions = [
29
+ ("S' -> expression","S'",1,None,None,None),
30
+ ('expression -> comparison','expression',1,'p_expression','validator.py',390),
31
+ ('expression -> expression EQUAL comparison','expression',3,'p_expression','validator.py',391),
32
+ ('expression -> expression NOTEQUAL comparison','expression',3,'p_expression','validator.py',392),
33
+ ('expression -> expression GREATER comparison','expression',3,'p_expression','validator.py',393),
34
+ ('expression -> expression LESS comparison','expression',3,'p_expression','validator.py',394),
35
+ ('expression -> expression GREATEREQUAL comparison','expression',3,'p_expression','validator.py',395),
36
+ ('expression -> expression LESSEQUAL comparison','expression',3,'p_expression','validator.py',396),
37
+ ('comparison -> term','comparison',1,'p_comparison','validator.py',403),
38
+ ('comparison -> comparison PLUS term','comparison',3,'p_comparison','validator.py',404),
39
+ ('comparison -> comparison MINUS term','comparison',3,'p_comparison','validator.py',405),
40
+ ('term -> factor','term',1,'p_term','validator.py',412),
41
+ ('term -> term TIMES factor','term',3,'p_term','validator.py',413),
42
+ ('term -> term DIVIDE factor','term',3,'p_term','validator.py',414),
43
+ ('factor -> NUMBER','factor',1,'p_factor','validator.py',421),
44
+ ('factor -> STRING','factor',1,'p_factor','validator.py',422),
45
+ ('factor -> FIELD','factor',1,'p_factor','validator.py',423),
46
+ ('factor -> CATEGORY','factor',1,'p_factor','validator.py',424),
47
+ ('factor -> IDENTIFIER','factor',1,'p_factor','validator.py',425),
48
+ ('factor -> BOOLEAN','factor',1,'p_factor','validator.py',426),
49
+ ('factor -> MINUS factor','factor',2,'p_factor','validator.py',427),
50
+ ('factor -> LPAREN expression RPAREN','factor',3,'p_factor','validator.py',428),
51
+ ('factor -> function_call','factor',1,'p_factor','validator.py',429),
52
+ ('function_call -> FUNCTION LPAREN args RPAREN','function_call',4,'p_function_call','validator.py',457),
53
+ ('args -> arg_list','args',1,'p_args','validator.py',461),
54
+ ('args -> empty','args',1,'p_args','validator.py',462),
55
+ ('arg_list -> arg','arg_list',1,'p_arg_list','validator.py',469),
56
+ ('arg_list -> arg_list COMMA arg','arg_list',3,'p_arg_list','validator.py',470),
57
+ ('arg -> expression','arg',1,'p_arg','validator.py',477),
58
+ ('arg -> IDENTIFIER ASSIGN expression','arg',3,'p_arg','validator.py',478),
59
+ ('empty -> <empty>','empty',0,'p_empty','validator.py',485),
60
+ ]