cnhkmcp 2.3.5__py3-none-any.whl → 2.3.7__py3-none-any.whl
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/__init__.py +1 -1
- cnhkmcp/untracked/AI/321/206/320/231/320/243/321/205/342/225/226/320/265/321/204/342/225/221/342/225/221/BRAIN_AI/321/206/320/231/320/243/321/205/342/225/226/320/265/321/204/342/225/221/342/225/221Mac_Linux/321/207/320/231/320/230/321/206/320/254/320/274.zip +0 -0
- cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/main.py +6 -3
- cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242//321/211/320/266/320/246/321/206/320/274/320/261/321/210/342/224/220/320/240/321/210/320/261/320/234/321/206/320/231/320/243/321/205/342/225/235/320/220/321/206/320/230/320/241.py +5 -3
- cnhkmcp/untracked/APP/Tranformer/validator.py +43 -8
- cnhkmcp/untracked/APP/ace_lib.py +5 -3
- cnhkmcp/untracked/APP/blueprints/validator.py +43 -8
- cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/validator.py +44 -8
- cnhkmcp/untracked/APP//321/210/342/224/220/320/240/321/210/320/261/320/234/321/206/320/231/320/243/321/205/342/225/235/320/220/321/206/320/230/320/241.py +5 -3
- cnhkmcp/untracked/arxiv_api.py +5 -3
- cnhkmcp/untracked/back_up/forum_functions.py +5 -3
- cnhkmcp/untracked/forum_functions.py +5 -3
- cnhkmcp/untracked/mcp/321/206/320/246/320/227/321/204/342/225/227/342/225/242/321/210/320/276/342/225/221/321/205/320/255/320/253/321/207/320/231/320/2302_/321/205/320/266/320/222/321/206/320/256/320/254/321/205/320/236/320/257/321/207/320/231/320/230/321/205/320/240/320/277/321/205/320/232/320/270/321/204/342/225/225/320/235/321/204/342/225/221/320/226/321/206/342/225/241/320/237/321/210/320/267/320/230/321/205/320/251/320/270/321/205/342/226/221/342/226/222/321/210/320/277/320/245/321/210/342/224/220/320/251/321/204/342/225/225/320/272/forum_functions.py +5 -3
- cnhkmcp/untracked/platform_functions.py +5 -3
- cnhkmcp/untracked/skills/alpha-expression-verifier/scripts/validator.py +43 -8
- cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/scripts/validator.py +43 -8
- cnhkmcp/untracked//321/211/320/225/320/235/321/207/342/225/234/320/276/321/205/320/231/320/235/321/210/342/224/220/320/240/321/210/320/261/320/234/321/206/320/230/320/241_/321/205/320/276/320/231/321/210/320/263/320/225/321/205/342/224/220/320/225/321/210/320/266/320/221/321/204/342/225/233/320/255/321/210/342/225/241/320/246/321/205/320/234/320/225.py +5 -3
- {cnhkmcp-2.3.5.dist-info → cnhkmcp-2.3.7.dist-info}/METADATA +1 -1
- {cnhkmcp-2.3.5.dist-info → cnhkmcp-2.3.7.dist-info}/RECORD +23 -24
- cnhkmcp/untracked/AI/321/206/320/231/320/243/321/205/342/225/226/320/265/321/204/342/225/221/342/225/221//321/205/320/237/320/234/321/205/320/227/342/225/227/321/205/320/276/320/231/321/210/320/263/320/225AI/321/206/320/231/320/243/321/205/342/225/226/320/265/321/204/342/225/221/342/225/221_Windows/321/207/320/231/320/230/321/206/320/254/320/274.exe +0 -0
- {cnhkmcp-2.3.5.dist-info → cnhkmcp-2.3.7.dist-info}/WHEEL +0 -0
- {cnhkmcp-2.3.5.dist-info → cnhkmcp-2.3.7.dist-info}/entry_points.txt +0 -0
- {cnhkmcp-2.3.5.dist-info → cnhkmcp-2.3.7.dist-info}/licenses/LICENSE +0 -0
- {cnhkmcp-2.3.5.dist-info → cnhkmcp-2.3.7.dist-info}/top_level.txt +0 -0
cnhkmcp/__init__.py
CHANGED
|
@@ -14,9 +14,12 @@ import sys
|
|
|
14
14
|
|
|
15
15
|
# try set gbk problem
|
|
16
16
|
try:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
# 获取脚本所在目录(项目根目录)
|
|
@@ -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']},
|
|
@@ -715,19 +716,53 @@ class ExpressionValidator:
|
|
|
715
716
|
return cached
|
|
716
717
|
|
|
717
718
|
derived = False
|
|
718
|
-
if node.node_type == 'function'
|
|
719
|
-
|
|
719
|
+
if node.node_type == 'function':
|
|
720
|
+
if node.value in {'bucket', 'group_cartesian_product'}:
|
|
721
|
+
derived = True
|
|
722
|
+
else:
|
|
723
|
+
function_info = supported_functions.get(node.value, {})
|
|
724
|
+
arg_types = function_info.get('arg_types', [])
|
|
725
|
+
param_names = function_info.get('param_names', [])
|
|
726
|
+
|
|
727
|
+
positional_index = 0
|
|
728
|
+
for child in node.children:
|
|
729
|
+
if isinstance(child, dict):
|
|
730
|
+
if child.get('type') == 'named':
|
|
731
|
+
name = child.get('name')
|
|
732
|
+
value = child.get('value')
|
|
733
|
+
|
|
734
|
+
expected_type = None
|
|
735
|
+
if name in param_names:
|
|
736
|
+
param_index = param_names.index(name)
|
|
737
|
+
if param_index < len(arg_types):
|
|
738
|
+
expected_type = arg_types[param_index]
|
|
739
|
+
|
|
740
|
+
if expected_type == 'category':
|
|
741
|
+
continue
|
|
742
|
+
|
|
743
|
+
if self._is_derived_category(value):
|
|
744
|
+
derived = True
|
|
745
|
+
break
|
|
746
|
+
elif child.get('type') == 'positional':
|
|
747
|
+
value = child.get('value')
|
|
748
|
+
expected_type = arg_types[positional_index] if positional_index < len(arg_types) else None
|
|
749
|
+
|
|
750
|
+
if expected_type != 'category' and self._is_derived_category(value):
|
|
751
|
+
derived = True
|
|
752
|
+
break
|
|
753
|
+
positional_index += 1
|
|
754
|
+
else:
|
|
755
|
+
expected_type = arg_types[positional_index] if positional_index < len(arg_types) else None
|
|
756
|
+
if expected_type != 'category' and self._is_derived_category(child):
|
|
757
|
+
derived = True
|
|
758
|
+
break
|
|
759
|
+
positional_index += 1
|
|
720
760
|
elif node.node_type in {'unop', 'binop'}:
|
|
721
761
|
derived = any(
|
|
722
762
|
self._is_derived_category(child)
|
|
723
763
|
for child in node.children
|
|
724
764
|
if hasattr(child, 'node_type')
|
|
725
765
|
)
|
|
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
766
|
|
|
732
767
|
self._derived_category_cache[cache_key] = derived
|
|
733
768
|
return derived
|
cnhkmcp/untracked/APP/ace_lib.py
CHANGED
|
@@ -17,9 +17,11 @@ import sys
|
|
|
17
17
|
import io
|
|
18
18
|
# try set gbk problem
|
|
19
19
|
try:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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,
|
|
@@ -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']},
|
|
@@ -715,19 +716,53 @@ class ExpressionValidator:
|
|
|
715
716
|
return cached
|
|
716
717
|
|
|
717
718
|
derived = False
|
|
718
|
-
if node.node_type == 'function'
|
|
719
|
-
|
|
719
|
+
if node.node_type == 'function':
|
|
720
|
+
if node.value in {'bucket', 'group_cartesian_product'}:
|
|
721
|
+
derived = True
|
|
722
|
+
else:
|
|
723
|
+
function_info = supported_functions.get(node.value, {})
|
|
724
|
+
arg_types = function_info.get('arg_types', [])
|
|
725
|
+
param_names = function_info.get('param_names', [])
|
|
726
|
+
|
|
727
|
+
positional_index = 0
|
|
728
|
+
for child in node.children:
|
|
729
|
+
if isinstance(child, dict):
|
|
730
|
+
if child.get('type') == 'named':
|
|
731
|
+
name = child.get('name')
|
|
732
|
+
value = child.get('value')
|
|
733
|
+
|
|
734
|
+
expected_type = None
|
|
735
|
+
if name in param_names:
|
|
736
|
+
param_index = param_names.index(name)
|
|
737
|
+
if param_index < len(arg_types):
|
|
738
|
+
expected_type = arg_types[param_index]
|
|
739
|
+
|
|
740
|
+
if expected_type == 'category':
|
|
741
|
+
continue
|
|
742
|
+
|
|
743
|
+
if self._is_derived_category(value):
|
|
744
|
+
derived = True
|
|
745
|
+
break
|
|
746
|
+
elif child.get('type') == 'positional':
|
|
747
|
+
value = child.get('value')
|
|
748
|
+
expected_type = arg_types[positional_index] if positional_index < len(arg_types) else None
|
|
749
|
+
|
|
750
|
+
if expected_type != 'category' and self._is_derived_category(value):
|
|
751
|
+
derived = True
|
|
752
|
+
break
|
|
753
|
+
positional_index += 1
|
|
754
|
+
else:
|
|
755
|
+
expected_type = arg_types[positional_index] if positional_index < len(arg_types) else None
|
|
756
|
+
if expected_type != 'category' and self._is_derived_category(child):
|
|
757
|
+
derived = True
|
|
758
|
+
break
|
|
759
|
+
positional_index += 1
|
|
720
760
|
elif node.node_type in {'unop', 'binop'}:
|
|
721
761
|
derived = any(
|
|
722
762
|
self._is_derived_category(child)
|
|
723
763
|
for child in node.children
|
|
724
764
|
if hasattr(child, 'node_type')
|
|
725
765
|
)
|
|
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
766
|
|
|
732
767
|
self._derived_category_cache[cache_key] = derived
|
|
733
768
|
return derived
|
cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/validator.py
CHANGED
|
@@ -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']},
|
|
@@ -719,19 +720,54 @@ class ExpressionValidator:
|
|
|
719
720
|
return cached
|
|
720
721
|
|
|
721
722
|
derived = False
|
|
722
|
-
if node.node_type == 'function'
|
|
723
|
-
|
|
723
|
+
if node.node_type == 'function':
|
|
724
|
+
if node.value in {'bucket', 'group_cartesian_product'}:
|
|
725
|
+
derived = True
|
|
726
|
+
else:
|
|
727
|
+
function_info = supported_functions.get(node.value, {})
|
|
728
|
+
arg_types = function_info.get('arg_types', [])
|
|
729
|
+
param_names = function_info.get('param_names', [])
|
|
730
|
+
|
|
731
|
+
positional_index = 0
|
|
732
|
+
for child in node.children:
|
|
733
|
+
if isinstance(child, dict):
|
|
734
|
+
if child.get('type') == 'named':
|
|
735
|
+
name = child.get('name')
|
|
736
|
+
value = child.get('value')
|
|
737
|
+
|
|
738
|
+
expected_type = None
|
|
739
|
+
if name in param_names:
|
|
740
|
+
param_index = param_names.index(name)
|
|
741
|
+
if param_index < len(arg_types):
|
|
742
|
+
expected_type = arg_types[param_index]
|
|
743
|
+
|
|
744
|
+
# Do not propagate "derived" through allowed category/grouping-key inputs.
|
|
745
|
+
if expected_type == 'category':
|
|
746
|
+
continue
|
|
747
|
+
|
|
748
|
+
if self._is_derived_category(value):
|
|
749
|
+
derived = True
|
|
750
|
+
break
|
|
751
|
+
elif child.get('type') == 'positional':
|
|
752
|
+
value = child.get('value')
|
|
753
|
+
expected_type = arg_types[positional_index] if positional_index < len(arg_types) else None
|
|
754
|
+
|
|
755
|
+
if expected_type != 'category' and self._is_derived_category(value):
|
|
756
|
+
derived = True
|
|
757
|
+
break
|
|
758
|
+
positional_index += 1
|
|
759
|
+
else:
|
|
760
|
+
expected_type = arg_types[positional_index] if positional_index < len(arg_types) else None
|
|
761
|
+
if expected_type != 'category' and self._is_derived_category(child):
|
|
762
|
+
derived = True
|
|
763
|
+
break
|
|
764
|
+
positional_index += 1
|
|
724
765
|
elif node.node_type in {'unop', 'binop'}:
|
|
725
766
|
derived = any(
|
|
726
767
|
self._is_derived_category(child)
|
|
727
768
|
for child in node.children
|
|
728
769
|
if hasattr(child, 'node_type')
|
|
729
770
|
)
|
|
730
|
-
elif node.node_type == 'function':
|
|
731
|
-
derived = any(
|
|
732
|
-
self._is_derived_category(child.get('value')) if isinstance(child, dict) else self._is_derived_category(child)
|
|
733
|
-
for child in node.children
|
|
734
|
-
)
|
|
735
771
|
|
|
736
772
|
self._derived_category_cache[cache_key] = derived
|
|
737
773
|
return derived
|
|
@@ -11,9 +11,11 @@ import io
|
|
|
11
11
|
|
|
12
12
|
# try set gbk problem
|
|
13
13
|
try:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
if hasattr(sys.stdout, 'reconfigure'):
|
|
15
|
+
sys.stdout.reconfigure(encoding='utf-8')
|
|
16
|
+
elif hasattr(sys.stdout, 'buffer'):
|
|
17
|
+
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
|
|
18
|
+
except Exception:
|
|
17
19
|
pass
|
|
18
20
|
|
|
19
21
|
def install_requirements():
|
cnhkmcp/untracked/arxiv_api.py
CHANGED
|
@@ -6,9 +6,11 @@ import argparse
|
|
|
6
6
|
import io
|
|
7
7
|
# try set gbk problem
|
|
8
8
|
try:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
if hasattr(sys.stdout, 'reconfigure'):
|
|
10
|
+
sys.stdout.reconfigure(encoding='utf-8')
|
|
11
|
+
elif hasattr(sys.stdout, 'buffer'):
|
|
12
|
+
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
|
|
13
|
+
except Exception:
|
|
12
14
|
pass
|
|
13
15
|
|
|
14
16
|
def search_arxiv(query, max_results=10):
|
|
@@ -26,9 +26,11 @@ import io
|
|
|
26
26
|
|
|
27
27
|
# try set gbk problem
|
|
28
28
|
try:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
if hasattr(sys.stdout, 'reconfigure'):
|
|
30
|
+
sys.stdout.reconfigure(encoding='utf-8')
|
|
31
|
+
elif hasattr(sys.stdout, 'buffer'):
|
|
32
|
+
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
|
|
33
|
+
except Exception:
|
|
32
34
|
pass
|
|
33
35
|
|
|
34
36
|
# Initialize forum MCP server
|
|
@@ -19,9 +19,11 @@ import io
|
|
|
19
19
|
|
|
20
20
|
# try set gbk problem
|
|
21
21
|
try:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
if hasattr(sys.stdout, 'reconfigure'):
|
|
23
|
+
sys.stdout.reconfigure(encoding='utf-8')
|
|
24
|
+
elif hasattr(sys.stdout, 'buffer'):
|
|
25
|
+
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
|
|
26
|
+
except Exception:
|
|
25
27
|
pass
|
|
26
28
|
|
|
27
29
|
def log(message: str, level: str = "INFO"):
|
|
@@ -19,9 +19,11 @@ import io
|
|
|
19
19
|
|
|
20
20
|
# try set gbk problem
|
|
21
21
|
try:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
if hasattr(sys.stdout, 'reconfigure'):
|
|
23
|
+
sys.stdout.reconfigure(encoding='utf-8')
|
|
24
|
+
elif hasattr(sys.stdout, 'buffer'):
|
|
25
|
+
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
|
|
26
|
+
except Exception:
|
|
25
27
|
pass
|
|
26
28
|
|
|
27
29
|
def log(message: str, level: str = "INFO"):
|
|
@@ -21,9 +21,11 @@ from time import sleep
|
|
|
21
21
|
import io
|
|
22
22
|
# try set gbk problem
|
|
23
23
|
try:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
if hasattr(sys.stdout, 'reconfigure'):
|
|
25
|
+
sys.stdout.reconfigure(encoding='utf-8')
|
|
26
|
+
elif hasattr(sys.stdout, 'buffer'):
|
|
27
|
+
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
|
|
28
|
+
except Exception:
|
|
27
29
|
pass
|
|
28
30
|
|
|
29
31
|
import requests
|
|
@@ -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']},
|
|
@@ -715,19 +716,53 @@ class ExpressionValidator:
|
|
|
715
716
|
return cached
|
|
716
717
|
|
|
717
718
|
derived = False
|
|
718
|
-
if node.node_type == 'function'
|
|
719
|
-
|
|
719
|
+
if node.node_type == 'function':
|
|
720
|
+
if node.value in {'bucket', 'group_cartesian_product'}:
|
|
721
|
+
derived = True
|
|
722
|
+
else:
|
|
723
|
+
function_info = supported_functions.get(node.value, {})
|
|
724
|
+
arg_types = function_info.get('arg_types', [])
|
|
725
|
+
param_names = function_info.get('param_names', [])
|
|
726
|
+
|
|
727
|
+
positional_index = 0
|
|
728
|
+
for child in node.children:
|
|
729
|
+
if isinstance(child, dict):
|
|
730
|
+
if child.get('type') == 'named':
|
|
731
|
+
name = child.get('name')
|
|
732
|
+
value = child.get('value')
|
|
733
|
+
|
|
734
|
+
expected_type = None
|
|
735
|
+
if name in param_names:
|
|
736
|
+
param_index = param_names.index(name)
|
|
737
|
+
if param_index < len(arg_types):
|
|
738
|
+
expected_type = arg_types[param_index]
|
|
739
|
+
|
|
740
|
+
if expected_type == 'category':
|
|
741
|
+
continue
|
|
742
|
+
|
|
743
|
+
if self._is_derived_category(value):
|
|
744
|
+
derived = True
|
|
745
|
+
break
|
|
746
|
+
elif child.get('type') == 'positional':
|
|
747
|
+
value = child.get('value')
|
|
748
|
+
expected_type = arg_types[positional_index] if positional_index < len(arg_types) else None
|
|
749
|
+
|
|
750
|
+
if expected_type != 'category' and self._is_derived_category(value):
|
|
751
|
+
derived = True
|
|
752
|
+
break
|
|
753
|
+
positional_index += 1
|
|
754
|
+
else:
|
|
755
|
+
expected_type = arg_types[positional_index] if positional_index < len(arg_types) else None
|
|
756
|
+
if expected_type != 'category' and self._is_derived_category(child):
|
|
757
|
+
derived = True
|
|
758
|
+
break
|
|
759
|
+
positional_index += 1
|
|
720
760
|
elif node.node_type in {'unop', 'binop'}:
|
|
721
761
|
derived = any(
|
|
722
762
|
self._is_derived_category(child)
|
|
723
763
|
for child in node.children
|
|
724
764
|
if hasattr(child, 'node_type')
|
|
725
765
|
)
|
|
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
766
|
|
|
732
767
|
self._derived_category_cache[cache_key] = derived
|
|
733
768
|
return derived
|
|
@@ -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']},
|
|
@@ -719,19 +720,53 @@ class ExpressionValidator:
|
|
|
719
720
|
return cached
|
|
720
721
|
|
|
721
722
|
derived = False
|
|
722
|
-
if node.node_type == 'function'
|
|
723
|
-
|
|
723
|
+
if node.node_type == 'function':
|
|
724
|
+
if node.value in {'bucket', 'group_cartesian_product'}:
|
|
725
|
+
derived = True
|
|
726
|
+
else:
|
|
727
|
+
function_info = supported_functions.get(node.value, {})
|
|
728
|
+
arg_types = function_info.get('arg_types', [])
|
|
729
|
+
param_names = function_info.get('param_names', [])
|
|
730
|
+
|
|
731
|
+
positional_index = 0
|
|
732
|
+
for child in node.children:
|
|
733
|
+
if isinstance(child, dict):
|
|
734
|
+
if child.get('type') == 'named':
|
|
735
|
+
name = child.get('name')
|
|
736
|
+
value = child.get('value')
|
|
737
|
+
|
|
738
|
+
expected_type = None
|
|
739
|
+
if name in param_names:
|
|
740
|
+
param_index = param_names.index(name)
|
|
741
|
+
if param_index < len(arg_types):
|
|
742
|
+
expected_type = arg_types[param_index]
|
|
743
|
+
|
|
744
|
+
if expected_type == 'category':
|
|
745
|
+
continue
|
|
746
|
+
|
|
747
|
+
if self._is_derived_category(value):
|
|
748
|
+
derived = True
|
|
749
|
+
break
|
|
750
|
+
elif child.get('type') == 'positional':
|
|
751
|
+
value = child.get('value')
|
|
752
|
+
expected_type = arg_types[positional_index] if positional_index < len(arg_types) else None
|
|
753
|
+
|
|
754
|
+
if expected_type != 'category' and self._is_derived_category(value):
|
|
755
|
+
derived = True
|
|
756
|
+
break
|
|
757
|
+
positional_index += 1
|
|
758
|
+
else:
|
|
759
|
+
expected_type = arg_types[positional_index] if positional_index < len(arg_types) else None
|
|
760
|
+
if expected_type != 'category' and self._is_derived_category(child):
|
|
761
|
+
derived = True
|
|
762
|
+
break
|
|
763
|
+
positional_index += 1
|
|
724
764
|
elif node.node_type in {'unop', 'binop'}:
|
|
725
765
|
derived = any(
|
|
726
766
|
self._is_derived_category(child)
|
|
727
767
|
for child in node.children
|
|
728
768
|
if hasattr(child, 'node_type')
|
|
729
769
|
)
|
|
730
|
-
elif node.node_type == 'function':
|
|
731
|
-
derived = any(
|
|
732
|
-
self._is_derived_category(child.get('value')) if isinstance(child, dict) else self._is_derived_category(child)
|
|
733
|
-
for child in node.children
|
|
734
|
-
)
|
|
735
770
|
|
|
736
771
|
self._derived_category_cache[cache_key] = derived
|
|
737
772
|
return derived
|
|
@@ -23,9 +23,11 @@ import io
|
|
|
23
23
|
|
|
24
24
|
# try set gbk problem
|
|
25
25
|
try:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
if hasattr(sys.stdout, 'reconfigure'):
|
|
27
|
+
sys.stdout.reconfigure(encoding='utf-8')
|
|
28
|
+
elif hasattr(sys.stdout, 'buffer'):
|
|
29
|
+
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
|
|
30
|
+
except Exception:
|
|
29
31
|
pass
|
|
30
32
|
|
|
31
33
|
# Hardcoded package requirements (merged from workspace requirements)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
cnhkmcp/__init__.py,sha256=
|
|
1
|
+
cnhkmcp/__init__.py,sha256=13ULgeeyONpZWNtJMNnbw8quqeWiTEvC7Jx3rxgy4Gk,2759
|
|
2
2
|
cnhkmcp/untracked/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
3
|
cnhkmcp/untracked/arXiv_API_Tool_Manual.md,sha256=I3hvI5mpmIjBuWptufoVSWFnuhyUc67oCGHEuR0p_xs,13552
|
|
4
|
-
cnhkmcp/untracked/arxiv_api.py,sha256=
|
|
4
|
+
cnhkmcp/untracked/arxiv_api.py,sha256=ka2TCUMNdPFSsqgsDxZyLoIXCKaiX9OKuAx6IMEjCdI,9300
|
|
5
5
|
cnhkmcp/untracked/brain-consultant.md,sha256=6eqVPT-EVLZgP_kOt1HSibXixbIMeoubX8mS5o4OxBs,3696
|
|
6
|
-
cnhkmcp/untracked/forum_functions.py,sha256=
|
|
7
|
-
cnhkmcp/untracked/platform_functions.py,sha256=
|
|
6
|
+
cnhkmcp/untracked/forum_functions.py,sha256=exHnSDXjnvNNoPxcpXKIesxU4uXGjvLcNjQysdL48JQ,19247
|
|
7
|
+
cnhkmcp/untracked/platform_functions.py,sha256=l9r3_sF59A5v2CrlPXVg971kKBbvkgntKWwTAFw-YHs,111472
|
|
8
8
|
cnhkmcp/untracked/sample_mcp_config.json,sha256=QSFvZ086bxUQsvmLjcE6pL9ObzKn4FGnt9npWPo7Eps,1044
|
|
9
9
|
cnhkmcp/untracked/user_config.json,sha256=_INn1X1qIsITrmEno-BRlQOAGm9wnNCw-6B333DEvnk,695
|
|
10
10
|
cnhkmcp/untracked/示例参考文档_BRAIN_Alpha_Test_Requirements_and_Tips.md,sha256=W4dtQrqoTN72UyvIsvkGRF0HFOJLHSDeeSlbR3gqQg0,17133
|
|
@@ -13,20 +13,19 @@ cnhkmcp/untracked/示例工作流_BRAIN_6_Tips_Datafield_Exploration_Guide.md,sh
|
|
|
13
13
|
cnhkmcp/untracked/示例工作流_BRAIN_Alpha_Improvement_Workflow.md,sha256=XlWYREd_qXe1skdXIhkiGY05oDr_6KiBs1WkerY4S8U,5092
|
|
14
14
|
cnhkmcp/untracked/示例工作流_Dataset_Exploration_Expert_Manual.md,sha256=-C4fWdaBe9UzA5BDZz0Do2z8RaPWLslb6D0nTz6fqk4,24403
|
|
15
15
|
cnhkmcp/untracked/示例工作流_daily_report_workflow.md,sha256=6aNmPqWRn09XdQMRxoVTka9IYVOUv5LcWparHu16EfQ,9460
|
|
16
|
-
cnhkmcp/untracked/配置前运行我_安装必要依赖包.py,sha256=
|
|
17
|
-
cnhkmcp/untracked/AI打工人/BRAIN_AI打工人Mac_Linux版本.zip,sha256=
|
|
18
|
-
cnhkmcp/untracked/AI打工人/双击安装AI打工人_Windows版本.exe,sha256=gqMFJ9-op4uVuWGRAix_ol5HH4hOS5YjV7bmWFl009c,11242659
|
|
16
|
+
cnhkmcp/untracked/配置前运行我_安装必要依赖包.py,sha256=UPR3gt5H2kBiM6_Ez4KTcvn2yfukNCGfO1riVB9oK18,7298
|
|
17
|
+
cnhkmcp/untracked/AI打工人/BRAIN_AI打工人Mac_Linux版本.zip,sha256=0IDtotaSZG62BWNsHSGfC5XCYuCPbGlEdKZiNvrZ0hY,36723
|
|
19
18
|
cnhkmcp/untracked/AI桌面插件/README.md,sha256=9Iu_XFpK0MyAtnGOxo3BxEo9ibEOSBkPvW9IuTrDPmw,1234
|
|
20
19
|
cnhkmcp/untracked/AI桌面插件/ace.log,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
20
|
cnhkmcp/untracked/AI桌面插件/config.json,sha256=tMF0TRyfQah749dIGkpY9dVfGygQ3YU384Vw-Kv5EDk,1984
|
|
22
21
|
cnhkmcp/untracked/AI桌面插件/icon.ico,sha256=oPkiKlN_f8zXTZhBmr6BVGjxfWr_wdIe5Flgq02wp-s,3284
|
|
23
22
|
cnhkmcp/untracked/AI桌面插件/icon.png,sha256=xg3EfFWiXzibPH38JCC0xpQMfGH6asOZbT0lWFVzl00,1628
|
|
24
|
-
cnhkmcp/untracked/AI桌面插件/main.py,sha256=
|
|
23
|
+
cnhkmcp/untracked/AI桌面插件/main.py,sha256=ONdOB1BSKUaz2R-Yk7BlgsnEeDYtsmGJvzUDzCD1kUw,23299
|
|
25
24
|
cnhkmcp/untracked/AI桌面插件/process_knowledge_base.py,sha256=hKY3Uus81cfhBIxuCPiOV-5RDNAM3NxQ_VD0T3BezwQ,10073
|
|
26
25
|
cnhkmcp/untracked/AI桌面插件/rag_engine.py,sha256=fQiA817OOv9dNkNfR6M7oiXz2WaNZ78mEgwcnrF946E,18865
|
|
27
26
|
cnhkmcp/untracked/AI桌面插件/requirements.txt,sha256=jLAbyxGnvi_f05YakzmC_vfVUbfaBUmHBULAmKl0N2o,82
|
|
28
27
|
cnhkmcp/untracked/AI桌面插件/run.bat,sha256=6Zj0DvBzq86mcptoxWPjmIQms8hYboMWDECM3xA8cr4,32
|
|
29
|
-
cnhkmcp/untracked/AI桌面插件/首次运行打开我.py,sha256=
|
|
28
|
+
cnhkmcp/untracked/AI桌面插件/首次运行打开我.py,sha256=Y6Yb5OMbeWS60EaRxfuWvNlhecXhpOs3xxTetpbGfcs,9852
|
|
30
29
|
cnhkmcp/untracked/AI桌面插件/get_knowledgeBase_tool/ace_lib.py,sha256=nSnmM5zfI6lxIln1vctz7TCwjAWcljVXITy7R4gS3Q0,53947
|
|
31
30
|
cnhkmcp/untracked/AI桌面插件/get_knowledgeBase_tool/fetch_all_datasets.py,sha256=NoRN5NoouW62Us1RvsbyTkgGu0w9ZWkARA1j4gDO5EY,5366
|
|
32
31
|
cnhkmcp/untracked/AI桌面插件/get_knowledgeBase_tool/fetch_all_documentation.py,sha256=PUviCKtUkGlgyVxznZq5y_wEnn32S9-dzlN91tbbWYs,5260
|
|
@@ -114,7 +113,7 @@ cnhkmcp/untracked/APP/.gitignore,sha256=oPCoVTNo82bhkN0c671LdjCpOTVpVhZI5NR75ztc
|
|
|
114
113
|
cnhkmcp/untracked/APP/MODULAR_STRUCTURE.md,sha256=b5xV74-_RtXq2K1EsYDwMukO6lxjJ4-lnOAEnTHpFS0,4706
|
|
115
114
|
cnhkmcp/untracked/APP/README.md,sha256=vb7hmQX0sH5aFNBmDCN5szMSDHm1_h2VKY4UKCt0aMk,11676
|
|
116
115
|
cnhkmcp/untracked/APP/ace.log,sha256=HXNY3zIjxRA2b4xcRkQbX5qGdrb0Jk3lI-YnkMSVTow,11623
|
|
117
|
-
cnhkmcp/untracked/APP/ace_lib.py,sha256=
|
|
116
|
+
cnhkmcp/untracked/APP/ace_lib.py,sha256=AujNE_d_RPOgQJLpq8KRnxLkdfFBJuivizfkOePo_Dc,54229
|
|
118
117
|
cnhkmcp/untracked/APP/helpful_functions.py,sha256=Jc8gclRkvGx7el0XgTmZ67qwMSHrSluYheCUvzd6mbg,6640
|
|
119
118
|
cnhkmcp/untracked/APP/mirror_config.txt,sha256=RL1jFYwcvDPkLd6tc_lqVcwjTLORWt5Qu0Ym_BTPaao,504
|
|
120
119
|
cnhkmcp/untracked/APP/operaters.csv,sha256=g8m6z-u0x-CoqGFSp_g3UMyLJkdFLE5UwsNkueMH1yw,13610
|
|
@@ -125,14 +124,14 @@ cnhkmcp/untracked/APP/setup_tsinghua.bat,sha256=9dLWCaQTULf3d2LqiAlvQrA4wuM1dysG
|
|
|
125
124
|
cnhkmcp/untracked/APP/setup_tsinghua.sh,sha256=mMDXTqCRIXtSHa_1pU0jCnNF-xajqfZDlUA72XpcAOk,1195
|
|
126
125
|
cnhkmcp/untracked/APP/ssrn-3332513.pdf,sha256=GEwf1Srtk-fTvF03dhTEjXJstHBARIUg31k7s5kxS98,2082078
|
|
127
126
|
cnhkmcp/untracked/APP/usage.md,sha256=t7D-5b2P_JZIn6F7ZRFOSZCYl3Vr5fvHGNVy73Nf_N0,16140
|
|
128
|
-
cnhkmcp/untracked/APP/运行打开我.py,sha256=
|
|
127
|
+
cnhkmcp/untracked/APP/运行打开我.py,sha256=Phyub7shfrmSG23HF9rdfDvmHFpP-FcDxRAQfkHj4os,118430
|
|
129
128
|
cnhkmcp/untracked/APP/Tranformer/Transformer.py,sha256=C65g1A5iVdEKcDUImL9MOYHws0CtHsFHykvX0FDfrTA,189021
|
|
130
129
|
cnhkmcp/untracked/APP/Tranformer/ace_lib.py,sha256=nSnmM5zfI6lxIln1vctz7TCwjAWcljVXITy7R4gS3Q0,53947
|
|
131
130
|
cnhkmcp/untracked/APP/Tranformer/helpful_functions.py,sha256=Jc8gclRkvGx7el0XgTmZ67qwMSHrSluYheCUvzd6mbg,6640
|
|
132
131
|
cnhkmcp/untracked/APP/Tranformer/parsetab.py,sha256=L_XJWx4AmYWASQ-krdrcyu7cEFbRdKS5MWppZ0Qfjlo,7650
|
|
133
132
|
cnhkmcp/untracked/APP/Tranformer/template_summary.txt,sha256=gWz5LFlPtOmw0JnLj68hgWsoSFNyA18uCJWIYWHLbe8,111054
|
|
134
133
|
cnhkmcp/untracked/APP/Tranformer/transformer_config.json,sha256=ene-WntIVbcoN3_H1ztlwtZK6eadSXCfqs1SSgrGAIg,179
|
|
135
|
-
cnhkmcp/untracked/APP/Tranformer/validator.py,sha256=
|
|
134
|
+
cnhkmcp/untracked/APP/Tranformer/validator.py,sha256=lDFLTDWzSnW4h1QJnYjWq12jPjFYxUDGMYrjQL9dVyM,62077
|
|
136
135
|
cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates.json,sha256=vMw3zhzcwARGm92ykdGTeYTsrCje_RHt0sWv17R0qUs,368947
|
|
137
136
|
cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates_示例.json,sha256=K40tcWPiUKaPnrtMdfsN2BOBG5IzqSz04XT6gRz7FVE,23139
|
|
138
137
|
cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_error.json,sha256=T1PNoYwrqgwDVLtfmj7L5e0Sq02OEbqHPC8RFhICuUU,2
|
|
@@ -144,7 +143,7 @@ cnhkmcp/untracked/APP/blueprints/idea_house.py,sha256=P_Pq_kmw2N3YluBOH9e0SwsCsw
|
|
|
144
143
|
cnhkmcp/untracked/APP/blueprints/inspiration_house.py,sha256=Zras66ksS3WRUnRcxKNaon2sHFeoZwdlY3K54sgcCyQ,18994
|
|
145
144
|
cnhkmcp/untracked/APP/blueprints/paper_analysis.py,sha256=tYGh-A1pzvSw6ZzoMKyIJBysbX8xsdBZncWw8ZGKyVQ,22241
|
|
146
145
|
cnhkmcp/untracked/APP/blueprints/parsetab.py,sha256=qJJR3QDtcqoBafLaIvvTiILY0REfP5VevvesWveEg1A,7650
|
|
147
|
-
cnhkmcp/untracked/APP/blueprints/validator.py,sha256=
|
|
146
|
+
cnhkmcp/untracked/APP/blueprints/validator.py,sha256=lDFLTDWzSnW4h1QJnYjWq12jPjFYxUDGMYrjQL9dVyM,62077
|
|
148
147
|
cnhkmcp/untracked/APP/custom_templates/templates.json,sha256=ARrpRsxGcUpC2iepS6j6A_0tdu_xUJTIyvLDb8uzL_E,48776
|
|
149
148
|
cnhkmcp/untracked/APP/give_me_idea/BRAIN_Alpha_Template_Expert_SystemPrompt.md,sha256=vZZFH7_h1PXQIYRA5eFPqJDJflsfVFFFzDjm8bNjZPc,15401
|
|
150
149
|
cnhkmcp/untracked/APP/give_me_idea/ace_lib.py,sha256=nSnmM5zfI6lxIln1vctz7TCwjAWcljVXITy7R4gS3Q0,53947
|
|
@@ -292,16 +291,16 @@ cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/script
|
|
|
292
291
|
cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/implement_idea.py,sha256=8nAyiFE0X6pcGQwZ4m-S9ph7lPSAGzzX7VLKBucBfZ8,8181
|
|
293
292
|
cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/merge_expression_list.py,sha256=4NzMqgwdLUx0baVm3CNRBlr17mtdnUzUdi3Depui8pc,3362
|
|
294
293
|
cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/parsetab.py,sha256=29clH5xFEmKpqzRvrLN89QE8JFJNYFhH-gEFR4y7448,7650
|
|
295
|
-
cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/validator.py,sha256=
|
|
294
|
+
cnhkmcp/untracked/APP/trailSomeAlphas/skills/brain-feature-implementation/scripts/validator.py,sha256=q6zpapSaZwRosCo5D0bumsqkr5dj0nKveNdjekLFJkY,62649
|
|
296
295
|
cnhkmcp/untracked/APP/trailSomeAlphas/skills/template_final_enhance/op总结.md,sha256=HDc8lhGdMst2QgFCqD5fJWvDZ3w1S2DEk0bMsHziflA,20562
|
|
297
296
|
cnhkmcp/untracked/APP/trailSomeAlphas/skills/template_final_enhance/sample_prompt.md,sha256=vf6Ps-hzIH-MRf-cv0Dyro7StdTJ-v6RAjHCXkpRwLE,6217
|
|
298
297
|
cnhkmcp/untracked/APP/trailSomeAlphas/skills/template_final_enhance/单因子思考逻辑链.md,sha256=2IfV6lOKYwoZIlN1tjXjOezJn9pQxX4K3iPmnZh01gA,13232
|
|
299
298
|
cnhkmcp/untracked/APP/缘分一道桥/ace_lib.py,sha256=nSnmM5zfI6lxIln1vctz7TCwjAWcljVXITy7R4gS3Q0,53947
|
|
300
299
|
cnhkmcp/untracked/APP/缘分一道桥/brain_alpha_inspector.py,sha256=eSmGEPFQhqjR96hRCDMCbBSp3wmcwmymdC25Mxa5WdQ,24763
|
|
301
300
|
cnhkmcp/untracked/APP/缘分一道桥/helpful_functions.py,sha256=Jc8gclRkvGx7el0XgTmZ67qwMSHrSluYheCUvzd6mbg,6640
|
|
302
|
-
cnhkmcp/untracked/back_up/forum_functions.py,sha256=
|
|
301
|
+
cnhkmcp/untracked/back_up/forum_functions.py,sha256=4rs4HIwzUbTZFX3k2WDlMAargvtM1VR5iMRjucs9FiE,42575
|
|
303
302
|
cnhkmcp/untracked/back_up/platform_functions.py,sha256=HvFfS44qGzw2yYKlpUM6oWrMnxrkR37Ht13l3atbTI4,123336
|
|
304
|
-
cnhkmcp/untracked/mcp文件论坛版2_如果原版启动不了浏览器就试这个/forum_functions.py,sha256=
|
|
303
|
+
cnhkmcp/untracked/mcp文件论坛版2_如果原版启动不了浏览器就试这个/forum_functions.py,sha256=exHnSDXjnvNNoPxcpXKIesxU4uXGjvLcNjQysdL48JQ,19247
|
|
305
304
|
cnhkmcp/untracked/mcp文件论坛版2_如果原版启动不了浏览器就试这个/platform_functions.py,sha256=X9gl7mRC2FSC9rPRhhBqLx5CL7Qc9pUgkZk8A7Qpy3M,111354
|
|
306
305
|
cnhkmcp/untracked/mcp文件论坛版2_如果原版启动不了浏览器就试这个/user_config.json,sha256=_INn1X1qIsITrmEno-BRlQOAGm9wnNCw-6B333DEvnk,695
|
|
307
306
|
cnhkmcp/untracked/mcp文件论坛版2_如果原版启动不了浏览器就试这个/让AI读这个文档来学会下载浏览器.md,sha256=v5QPSMjRDh52ZjgC4h8QjImnaqlVRLjTHGxmGjTo36g,3396
|
|
@@ -309,7 +308,7 @@ cnhkmcp/untracked/mcp文件论坛版2_如果原版启动不了浏览器就试这
|
|
|
309
308
|
cnhkmcp/untracked/skills/Claude_Skill_Creation_Guide.md,sha256=Wx4w8deBkuw0UcSwzNNQdRIuCqDXGk3-fRQBWcPQivw,5025
|
|
310
309
|
cnhkmcp/untracked/skills/alpha-expression-verifier/SKILL.md,sha256=7oGzMIXUJzDCtbxND6QWmh6azkLqoFJNURIh-F-aPUQ,2213
|
|
311
310
|
cnhkmcp/untracked/skills/alpha-expression-verifier/scripts/parsetab.py,sha256=L_XJWx4AmYWASQ-krdrcyu7cEFbRdKS5MWppZ0Qfjlo,7650
|
|
312
|
-
cnhkmcp/untracked/skills/alpha-expression-verifier/scripts/validator.py,sha256=
|
|
311
|
+
cnhkmcp/untracked/skills/alpha-expression-verifier/scripts/validator.py,sha256=lDFLTDWzSnW4h1QJnYjWq12jPjFYxUDGMYrjQL9dVyM,62077
|
|
313
312
|
cnhkmcp/untracked/skills/alpha-expression-verifier/scripts/verify_expr.py,sha256=zDSlYf0XlkyML-fcL4wld445RMbztt4pDSP5b6W6JKQ,1659
|
|
314
313
|
cnhkmcp/untracked/skills/brain-calculate-alpha-selfcorrQuick/SKILL.md,sha256=UKQhfHPOH8_YXnRotzXuG8BrgFeXhQoxAZIEeaQxGds,1183
|
|
315
314
|
cnhkmcp/untracked/skills/brain-calculate-alpha-selfcorrQuick/reference.md,sha256=ws9oUgtEdK7aVjw6sNoVzFQ3gyoX5UIlyz3wItI0fxI,3115
|
|
@@ -381,7 +380,7 @@ cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/scripts/parse_i
|
|
|
381
380
|
cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/scripts/parsetab.py,sha256=JvZ5WdYXoDafh4tSl2nw0rzhCCIdA4T_UXabMl9gkYg,7650
|
|
382
381
|
cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/scripts/process_template.py,sha256=AbNB9IniG4JuZK8V9xJkOlvvafs8FNkGjMqVKLCL0RM,3627
|
|
383
382
|
cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/scripts/resolve_settings.py,sha256=wdhmkHEvIX4OaLTwLbERXUU8RFmL7ezW4YTJXbEs4Fs,2928
|
|
384
|
-
cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/scripts/validator.py,sha256=
|
|
383
|
+
cnhkmcp/untracked/skills/brain-inspectRawTemplate-create-Setting/scripts/validator.py,sha256=_OJTcDyO7XVgO0_icUEdUzMHTXkh9V7OWqJVWGYwtqs,62545
|
|
385
384
|
cnhkmcp/untracked/skills/brain-nextMove-analysis/SKILL.md,sha256=MGmM3HHYTdzxLE6uOxs9mB4i3At4JGjJYzsbzQKTjgc,1685
|
|
386
385
|
cnhkmcp/untracked/skills/brain-nextMove-analysis/reference.md,sha256=6aNmPqWRn09XdQMRxoVTka9IYVOUv5LcWparHu16EfQ,9460
|
|
387
386
|
cnhkmcp/untracked/skills/planning-with-files/SKILL.md,sha256=WORMds3daIxA7qRTamVcTSiySAzXvkHlzONC1Kv6ato,6686
|
|
@@ -396,9 +395,9 @@ cnhkmcp/untracked/skills/pull_BRAINSkill/SKILL.md,sha256=QyXQ0wr9LeZyKqkvSTto72b
|
|
|
396
395
|
cnhkmcp/untracked/skills/pull_BRAINSkill/scripts/pull_skills.py,sha256=6v3Z3cc9_qKvBj7C6y2jWY1pAd76SA3JmiVj_KkZkmw,6341
|
|
397
396
|
cnhkmcp/vector_db/_manifest.json,sha256=RBNvo1WzZ4oRRq0W9-hknpT7T8If536DEMBg9hyq_4o,2
|
|
398
397
|
cnhkmcp/vector_db/_meta.json,sha256=xQwhRA0prLtwFAMAGR1ZgCR76jVEFIEfF-1SNPpTMgI,91
|
|
399
|
-
cnhkmcp-2.3.
|
|
400
|
-
cnhkmcp-2.3.
|
|
401
|
-
cnhkmcp-2.3.
|
|
402
|
-
cnhkmcp-2.3.
|
|
403
|
-
cnhkmcp-2.3.
|
|
404
|
-
cnhkmcp-2.3.
|
|
398
|
+
cnhkmcp-2.3.7.dist-info/licenses/LICENSE,sha256=QLxO2eNMnJQEdI_R1UV2AOD-IvuA8zVrkHWA4D9gtoc,1081
|
|
399
|
+
cnhkmcp-2.3.7.dist-info/METADATA,sha256=QJtvYs51Cvz14j2Bro0cgzmT6LerISsgNTDPeOQbrcw,5171
|
|
400
|
+
cnhkmcp-2.3.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
401
|
+
cnhkmcp-2.3.7.dist-info/entry_points.txt,sha256=lTQieVyIvjhSMK4fT-XwnccY-JBC1H4vVQ3V9dDM-Pc,70
|
|
402
|
+
cnhkmcp-2.3.7.dist-info/top_level.txt,sha256=x--ibUcSgOS9Z_RWK2Qc-vfs7DaXQN-WMaaxEETJ1Bw,8
|
|
403
|
+
cnhkmcp-2.3.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|