cnhkmcp 2.1.2__py3-none-any.whl → 2.1.3__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.
Files changed (113) hide show
  1. {cnhkmcp-2.1.2.dist-info → cnhkmcp-2.1.3.dist-info}/METADATA +1 -1
  2. cnhkmcp-2.1.3.dist-info/RECORD +6 -0
  3. cnhkmcp-2.1.3.dist-info/top_level.txt +1 -0
  4. cnhkmcp/__init__.py +0 -125
  5. 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/README.md +0 -38
  6. 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/ace.log +0 -0
  7. 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/config.json +0 -6
  8. 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/get_knowledgeBase_tool/ace_lib.py +0 -1510
  9. 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/get_knowledgeBase_tool/fetch_all_datasets.py +0 -157
  10. 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/get_knowledgeBase_tool/fetch_all_documentation.py +0 -132
  11. 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/get_knowledgeBase_tool/fetch_all_operators.py +0 -99
  12. 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/get_knowledgeBase_tool/helpful_functions.py +0 -180
  13. 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/icon.ico +0 -0
  14. 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/icon.png +0 -0
  15. 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/knowledge/test.txt +0 -1
  16. 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 +0 -576
  17. 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/process_knowledge_base.py +0 -281
  18. 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/rag_engine.py +0 -408
  19. 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/requirements.txt +0 -7
  20. 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/run.bat +0 -3
  21. 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 +0 -265
  22. cnhkmcp/untracked/APP/.gitignore +0 -32
  23. cnhkmcp/untracked/APP/MODULAR_STRUCTURE.md +0 -112
  24. cnhkmcp/untracked/APP/README.md +0 -309
  25. cnhkmcp/untracked/APP/Tranformer/Transformer.py +0 -4985
  26. cnhkmcp/untracked/APP/Tranformer/ace.log +0 -0
  27. cnhkmcp/untracked/APP/Tranformer/ace_lib.py +0 -1510
  28. cnhkmcp/untracked/APP/Tranformer/helpful_functions.py +0 -180
  29. cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates.json +0 -2421
  30. cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates_/321/207/320/264/342/225/221/321/204/342/225/233/320/233.json +0 -654
  31. cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_error.json +0 -1034
  32. cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_success.json +0 -444
  33. cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_/321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/320/237/320/277/321/207/320/253/342/224/244/321/206/320/236/320/265/321/210/342/225/234/342/225/234/321/205/320/225/320/265Machine_lib.json +0 -22
  34. cnhkmcp/untracked/APP/Tranformer/parsetab.py +0 -60
  35. cnhkmcp/untracked/APP/Tranformer/template_summary.txt +0 -3182
  36. cnhkmcp/untracked/APP/Tranformer/transformer_config.json +0 -7
  37. cnhkmcp/untracked/APP/Tranformer/validator.py +0 -889
  38. cnhkmcp/untracked/APP/ace.log +0 -69
  39. cnhkmcp/untracked/APP/ace_lib.py +0 -1510
  40. cnhkmcp/untracked/APP/blueprints/__init__.py +0 -6
  41. cnhkmcp/untracked/APP/blueprints/feature_engineering.py +0 -347
  42. cnhkmcp/untracked/APP/blueprints/idea_house.py +0 -221
  43. cnhkmcp/untracked/APP/blueprints/inspiration_house.py +0 -432
  44. cnhkmcp/untracked/APP/blueprints/paper_analysis.py +0 -570
  45. cnhkmcp/untracked/APP/custom_templates/templates.json +0 -1257
  46. cnhkmcp/untracked/APP/give_me_idea/BRAIN_Alpha_Template_Expert_SystemPrompt.md +0 -400
  47. cnhkmcp/untracked/APP/give_me_idea/ace_lib.py +0 -1510
  48. cnhkmcp/untracked/APP/give_me_idea/alpha_data_specific_template_master.py +0 -252
  49. cnhkmcp/untracked/APP/give_me_idea/fetch_all_datasets.py +0 -157
  50. cnhkmcp/untracked/APP/give_me_idea/fetch_all_operators.py +0 -99
  51. cnhkmcp/untracked/APP/give_me_idea/helpful_functions.py +0 -180
  52. cnhkmcp/untracked/APP/give_me_idea/what_is_Alpha_template.md +0 -11
  53. cnhkmcp/untracked/APP/helpful_functions.py +0 -180
  54. cnhkmcp/untracked/APP/hkSimulator/ace_lib.py +0 -1497
  55. cnhkmcp/untracked/APP/hkSimulator/autosimulator.py +0 -447
  56. cnhkmcp/untracked/APP/hkSimulator/helpful_functions.py +0 -180
  57. cnhkmcp/untracked/APP/mirror_config.txt +0 -20
  58. cnhkmcp/untracked/APP/operaters.csv +0 -129
  59. cnhkmcp/untracked/APP/requirements.txt +0 -53
  60. cnhkmcp/untracked/APP/run_app.bat +0 -28
  61. cnhkmcp/untracked/APP/run_app.sh +0 -34
  62. cnhkmcp/untracked/APP/setup_tsinghua.bat +0 -39
  63. cnhkmcp/untracked/APP/setup_tsinghua.sh +0 -43
  64. cnhkmcp/untracked/APP/simulator/alpha_submitter.py +0 -404
  65. cnhkmcp/untracked/APP/simulator/simulator_wqb.py +0 -618
  66. cnhkmcp/untracked/APP/ssrn-3332513.pdf +6 -109201
  67. cnhkmcp/untracked/APP/static/brain.js +0 -589
  68. cnhkmcp/untracked/APP/static/decoder.js +0 -1540
  69. cnhkmcp/untracked/APP/static/feature_engineering.js +0 -1729
  70. cnhkmcp/untracked/APP/static/idea_house.js +0 -937
  71. cnhkmcp/untracked/APP/static/inspiration.js +0 -465
  72. cnhkmcp/untracked/APP/static/inspiration_house.js +0 -868
  73. cnhkmcp/untracked/APP/static/paper_analysis.js +0 -390
  74. cnhkmcp/untracked/APP/static/script.js +0 -3082
  75. cnhkmcp/untracked/APP/static/simulator.js +0 -597
  76. cnhkmcp/untracked/APP/static/styles.css +0 -3127
  77. cnhkmcp/untracked/APP/static/usage_widget.js +0 -508
  78. cnhkmcp/untracked/APP/templates/alpha_inspector.html +0 -511
  79. cnhkmcp/untracked/APP/templates/feature_engineering.html +0 -960
  80. cnhkmcp/untracked/APP/templates/idea_house.html +0 -564
  81. cnhkmcp/untracked/APP/templates/index.html +0 -932
  82. cnhkmcp/untracked/APP/templates/inspiration_house.html +0 -861
  83. cnhkmcp/untracked/APP/templates/paper_analysis.html +0 -91
  84. cnhkmcp/untracked/APP/templates/simulator.html +0 -343
  85. cnhkmcp/untracked/APP/templates/transformer_web.html +0 -580
  86. cnhkmcp/untracked/APP/usage.md +0 -351
  87. cnhkmcp/untracked/APP//321/207/342/225/235/320/250/321/205/320/230/320/226/321/204/342/225/225/320/220/321/211/320/221/320/243/321/206/320/261/320/265/ace_lib.py +0 -1510
  88. cnhkmcp/untracked/APP//321/207/342/225/235/320/250/321/205/320/230/320/226/321/204/342/225/225/320/220/321/211/320/221/320/243/321/206/320/261/320/265/brain_alpha_inspector.py +0 -712
  89. cnhkmcp/untracked/APP//321/207/342/225/235/320/250/321/205/320/230/320/226/321/204/342/225/225/320/220/321/211/320/221/320/243/321/206/320/261/320/265/helpful_functions.py +0 -180
  90. 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 +0 -2456
  91. cnhkmcp/untracked/arXiv_API_Tool_Manual.md +0 -490
  92. cnhkmcp/untracked/arxiv_api.py +0 -229
  93. cnhkmcp/untracked/forum_functions.py +0 -998
  94. 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 +0 -407
  95. 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/platform_functions.py +0 -2415
  96. 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/user_config.json +0 -31
  97. 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//321/210/320/276/320/271AI/321/210/320/277/342/225/227/321/210/342/224/220/320/251/321/204/342/225/225/320/272/321/206/320/246/320/227/321/206/320/261/320/263/321/206/320/255/320/265/321/205/320/275/320/266/321/204/342/225/235/320/252/321/204/342/225/225/320/233/321/210/342/225/234/342/225/234/321/206/342/225/241/320/237/321/210/320/267/320/230/321/205/320/251/320/270.md +0 -101
  98. 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//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 +0 -190
  99. cnhkmcp/untracked/platform_functions.py +0 -2886
  100. cnhkmcp/untracked/sample_mcp_config.json +0 -11
  101. cnhkmcp/untracked/user_config.json +0 -31
  102. cnhkmcp/untracked//321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/320/237/320/222/321/210/320/220/320/223/321/206/320/246/320/227/321/206/320/261/320/263_BRAIN_Alpha_Test_Requirements_and_Tips.md +0 -202
  103. cnhkmcp/untracked//321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/342/225/226/320/265/321/204/342/225/234/320/254/321/206/342/225/241/320/221_Alpha_explaination_workflow.md +0 -56
  104. cnhkmcp/untracked//321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/342/225/226/320/265/321/204/342/225/234/320/254/321/206/342/225/241/320/221_BRAIN_6_Tips_Datafield_Exploration_Guide.md +0 -194
  105. cnhkmcp/untracked//321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/342/225/226/320/265/321/204/342/225/234/320/254/321/206/342/225/241/320/221_BRAIN_Alpha_Improvement_Workflow.md +0 -101
  106. cnhkmcp/untracked//321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/342/225/226/320/265/321/204/342/225/234/320/254/321/206/342/225/241/320/221_Dataset_Exploration_Expert_Manual.md +0 -436
  107. cnhkmcp/untracked//321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/342/225/226/320/265/321/204/342/225/234/320/254/321/206/342/225/241/320/221_daily_report_workflow.md +0 -128
  108. 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 +0 -190
  109. cnhkmcp-2.1.2.dist-info/RECORD +0 -111
  110. cnhkmcp-2.1.2.dist-info/top_level.txt +0 -1
  111. {cnhkmcp-2.1.2.dist-info → cnhkmcp-2.1.3.dist-info}/WHEEL +0 -0
  112. {cnhkmcp-2.1.2.dist-info → cnhkmcp-2.1.3.dist-info}/entry_points.txt +0 -0
  113. {cnhkmcp-2.1.2.dist-info → cnhkmcp-2.1.3.dist-info}/licenses/LICENSE +0 -0
@@ -1,91 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Paper Keyword Analysis</title>
7
- <link rel="stylesheet" href="{{ url_for('static', filename='styles.css') }}">
8
- </head>
9
- <body>
10
- <div class="container">
11
- <header>
12
- <h1>Paper Keyword Analysis</h1>
13
- <p class="subtitle">Extract and analyze keywords from research papers using Deepseek AI</p>
14
- <a href="/" class="btn btn-outline">← Back to Main</a>
15
- </header>
16
-
17
- <div class="paper-analysis-container">
18
- <!-- API Key Configuration -->
19
- <div class="api-key-section">
20
- <h2>Deepseek API Configuration</h2>
21
- <div class="form-group">
22
- <label for="apiKey">API Key:</label>
23
- <input type="password" id="apiKey" class="form-input" placeholder="Enter your Deepseek API key">
24
- <button id="saveApiKey" class="btn btn-secondary">Save API Key</button>
25
- </div>
26
- </div>
27
-
28
- <!-- File Upload Section -->
29
- <div class="upload-section">
30
- <h2>Upload Paper</h2>
31
- <div class="file-upload-container">
32
- <input type="file" id="paperFile" accept=".pdf,.txt,.doc,.docx,.rtf,.tex,.latex,.md,.markdown" class="file-input">
33
- <label for="paperFile" class="file-label">
34
- <span class="upload-icon">📄</span>
35
- <span class="upload-text">Choose a file or drag it here</span>
36
- <span class="file-types">Supports: PDF, TXT, DOC/DOCX, RTF, LaTeX, Markdown</span>
37
- </label>
38
- </div>
39
- <div id="fileInfo" class="file-info"></div>
40
- </div>
41
-
42
- <!-- Analysis Options -->
43
- <div class="analysis-options">
44
- <h2>Analysis Options</h2>
45
- <div class="options-grid">
46
- <label class="option-checkbox">
47
- <input type="checkbox" id="findRelatedWorks" checked>
48
- Extract Mathematical Formulas
49
- </label>
50
- <label class="option-checkbox">
51
- <input type="checkbox" id="extractKeywords">
52
- Extract Keywords
53
- </label>
54
- <label class="option-checkbox">
55
- <input type="checkbox" id="generateSummary">
56
- Generate Summary
57
- </label>
58
- </div>
59
- <button id="analyzePaper" class="btn btn-primary btn-large">Analyze Paper</button>
60
- </div>
61
-
62
- <!-- Results Section -->
63
- <div class="results-section" style="display: none;">
64
- <h2>Analysis Results</h2>
65
- <div class="results-tabs">
66
- <button class="tab-btn active" data-tab="keywords">Keywords</button>
67
- <button class="tab-btn" data-tab="summary">Summary</button>
68
- <button class="tab-btn" data-tab="related">Formulas</button>
69
- </div>
70
- <div class="tab-content">
71
- <div id="keywordsTab" class="tab-pane active">
72
- <div class="keywords-container"></div>
73
- </div>
74
- <div id="summaryTab" class="tab-pane">
75
- <div class="summary-container"></div>
76
- </div>
77
- <div id="relatedTab" class="tab-pane">
78
- <div class="related-works-container"></div>
79
- </div>
80
- </div>
81
- <div class="export-section">
82
- <button id="exportResults" class="btn btn-secondary">Export Results</button>
83
- </div>
84
- </div>
85
- </div>
86
- </div>
87
-
88
- <script src="{{ url_for('static', filename='paper_analysis.js') }}"></script>
89
- <script src="{{ url_for('static', filename='usage_widget.js') }}"></script>
90
- </body>
91
- </html>
@@ -1,343 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>BRAIN Alpha Simulator - User Interface</title>
7
- <link rel="stylesheet" href="{{ url_for('static', filename='styles.css') }}">
8
- <style>
9
- .simulator-container {
10
- max-width: 1200px;
11
- margin: 0 auto;
12
- padding: 20px;
13
- }
14
-
15
- .simulator-grid {
16
- display: grid;
17
- grid-template-columns: 1fr 1fr;
18
- gap: 20px;
19
- margin-top: 20px;
20
- }
21
-
22
- .simulator-panel {
23
- background: #f8f9fa;
24
- border-radius: 8px;
25
- padding: 20px;
26
- border: 1px solid #dee2e6;
27
- }
28
-
29
- .form-group {
30
- margin-bottom: 15px;
31
- }
32
-
33
- .form-group label {
34
- display: block;
35
- margin-bottom: 5px;
36
- font-weight: 600;
37
- color: #495057;
38
- }
39
-
40
- .form-group input, .form-group textarea, .form-group select {
41
- width: 100%;
42
- padding: 8px 12px;
43
- border: 1px solid #ced4da;
44
- border-radius: 4px;
45
- font-size: 14px;
46
- }
47
-
48
- .form-group input[type="number"] {
49
- width: 120px;
50
- }
51
-
52
- .form-group input[type="file"] {
53
- padding: 4px;
54
- }
55
-
56
- .form-group textarea {
57
- height: 60px;
58
- resize: vertical;
59
- }
60
-
61
- .checkbox-group {
62
- display: flex;
63
- align-items: center;
64
- gap: 8px;
65
- }
66
-
67
- .checkbox-group input[type="checkbox"] {
68
- width: auto;
69
- }
70
-
71
- .log-viewer {
72
- background: #1e1e1e;
73
- color: #f8f8f2;
74
- padding: 15px;
75
- border-radius: 4px;
76
- font-family: 'Courier New', 'SimSun', 'Microsoft YaHei', monospace;
77
- font-size: 12px;
78
- height: 300px;
79
- overflow-y: auto;
80
- white-space: pre-wrap;
81
- margin-top: 10px;
82
- unicode-bidi: embed;
83
- word-break: break-all;
84
- }
85
-
86
- .status-indicator {
87
- padding: 8px 12px;
88
- border-radius: 4px;
89
- font-weight: 500;
90
- margin-bottom: 15px;
91
- }
92
-
93
- .status-idle {
94
- background: #e9ecef;
95
- color: #495057;
96
- }
97
-
98
- .status-running {
99
- background: #fff3cd;
100
- color: #856404;
101
- }
102
-
103
- .status-success {
104
- background: #d1edff;
105
- color: #0c5460;
106
- }
107
-
108
- .status-error {
109
- background: #f8d7da;
110
- color: #721c24;
111
- }
112
-
113
- .parameter-help {
114
- font-size: 12px;
115
- color: #6c757d;
116
- margin-top: 4px;
117
- }
118
-
119
- .action-buttons {
120
- display: flex;
121
- gap: 10px;
122
- margin-top: 20px;
123
- }
124
-
125
- .btn-run {
126
- background: #28a745;
127
- color: white;
128
- border: none;
129
- padding: 12px 24px;
130
- border-radius: 4px;
131
- font-size: 16px;
132
- font-weight: 500;
133
- cursor: pointer;
134
- }
135
-
136
- .btn-run:hover {
137
- background: #218838;
138
- }
139
-
140
- .btn-run:disabled {
141
- background: #6c757d;
142
- cursor: not-allowed;
143
- }
144
-
145
- .password-input {
146
- position: relative;
147
- }
148
-
149
- .password-toggle {
150
- position: absolute;
151
- right: 10px;
152
- top: 50%;
153
- transform: translateY(-50%);
154
- background: none;
155
- border: none;
156
- cursor: pointer;
157
- color: #6c757d;
158
- }
159
-
160
- .file-info {
161
- margin-top: 8px;
162
- padding: 8px;
163
- background: #e9ecef;
164
- border-radius: 4px;
165
- font-size: 12px;
166
- }
167
-
168
- .back-link {
169
- color: #007bff;
170
- text-decoration: none;
171
- margin-bottom: 20px;
172
- display: inline-block;
173
- }
174
-
175
- .back-link:hover {
176
- text-decoration: underline;
177
- }
178
-
179
- .warning-box {
180
- background: #fff3cd;
181
- border: 1px solid #ffeaa7;
182
- border-radius: 4px;
183
- padding: 12px;
184
- margin: 10px 0;
185
- color: #856404;
186
- }
187
-
188
- .info-box {
189
- background: #d1ecf1;
190
- border: 1px solid #bee5eb;
191
- border-radius: 4px;
192
- padding: 12px;
193
- margin: 10px 0;
194
- color: #0c5460;
195
- }
196
- </style>
197
- </head>
198
- <body>
199
- <div class="simulator-container">
200
- <a href="/" class="back-link">← Back to Main Page</a>
201
-
202
- <header>
203
- <h1>🚀 BRAIN Alpha Simulator</h1>
204
- <p class="subtitle">User-friendly interface for running alpha simulations</p>
205
-
206
- <div class="status-indicator" id="simulatorStatus">
207
- Ready to configure simulation parameters
208
- </div>
209
- </header>
210
-
211
- <div class="simulator-grid">
212
- <!-- Configuration Panel -->
213
- <div class="simulator-panel">
214
- <h3>📋 Simulation Configuration</h3>
215
-
216
- <form id="simulatorForm">
217
- <!-- JSON File Selection -->
218
- <div class="form-group">
219
- <label for="jsonFile">📁 Expressions JSON File</label>
220
- <input type="file" id="jsonFile" accept=".json" required>
221
- <div class="parameter-help">Select expressions_with_settings.json file</div>
222
- <div id="jsonFileInfo" class="file-info" style="display: none;"></div>
223
- </div>
224
-
225
- <!-- Authentication -->
226
- <div class="form-group">
227
- <label for="username">👤 BRAIN Username</label>
228
- <input type="text" id="username" required placeholder="your.email@domain.com">
229
- </div>
230
-
231
- <div class="form-group">
232
- <label for="password">🔒 BRAIN Password</label>
233
- <div class="password-input">
234
- <input type="password" id="password" required placeholder="Your password">
235
- <button type="button" class="password-toggle" onclick="togglePassword()">đŸ‘ī¸</button>
236
- </div>
237
- </div>
238
-
239
- <!-- Simulation Parameters -->
240
- <div class="form-group">
241
- <label for="startPosition">đŸŽ¯ Starting Position</label>
242
- <input type="number" id="startPosition" min="0" value="0" required>
243
- <div class="parameter-help">Start from expression N (0-based index)</div>
244
- </div>
245
-
246
- <div class="form-group">
247
- <label for="concurrentCount">⚡ Concurrent Simulations</label>
248
- <input type="number" id="concurrentCount" min="1" value="3" required>
249
- <div class="parameter-help">Number of parallel simulations</div>
250
- </div>
251
-
252
- <!-- Advanced Options -->
253
- <div class="form-group">
254
- <div class="checkbox-group">
255
- <input type="checkbox" id="randomShuffle">
256
- <label for="randomShuffle">🔀 Random Shuffle</label>
257
- </div>
258
- <div class="parameter-help">Randomly shuffle expressions order</div>
259
- </div>
260
-
261
- <div class="form-group">
262
- <div class="checkbox-group">
263
- <input type="checkbox" id="useMultiSim" onchange="toggleMultiSimOptions()">
264
- <label for="useMultiSim">đŸŽ›ī¸ Multi-Simulation Mode</label>
265
- </div>
266
- <div class="parameter-help">Combine multiple alphas in one simulation slot</div>
267
- </div>
268
-
269
- <div class="form-group" id="multiSimOptions" style="display: none;">
270
- <label for="alphaCountPerSlot">📊 Alphas per Slot</label>
271
- <input type="number" id="alphaCountPerSlot" min="2" max="10" value="3">
272
- <div class="parameter-help">Number of alphas per multi-simulation slot (2-10)</div>
273
- </div>
274
-
275
- <div class="warning-box" id="overwriteWarning" style="display: none;">
276
- âš ī¸ Warning: Original JSON file will be overwritten if starting position > 0 or random shuffle is enabled!
277
- </div>
278
- </form>
279
-
280
- <div class="action-buttons">
281
- <button class="btn-run" id="runSimulator" onclick="runSimulator()">
282
- 🚀 Start Simulation
283
- </button>
284
- <button class="btn btn-outline" onclick="testConnection()" id="testBtn">
285
- 🔗 Test Connection
286
- </button>
287
- <button class="btn btn-outline" onclick="stopSimulation()" id="stopBtn" style="display: none;">
288
- âšī¸ Stop
289
- </button>
290
- </div>
291
- </div>
292
-
293
- <!-- Log Viewer Panel -->
294
- <div class="simulator-panel">
295
- <h3>📊 Simulation Logs & Status</h3>
296
-
297
- <div class="info-box" id="currentLogFile">
298
- No log file selected. Latest log will be auto-monitored when simulation starts.
299
- </div>
300
-
301
- <div class="form-group">
302
- <label for="logSelector">📁 Select Log File</label>
303
- <select id="logSelector" onchange="loadSelectedLog()">
304
- <option value="">Select a log file...</option>
305
- </select>
306
- <button class="btn btn-small btn-outline" onclick="refreshLogFiles()">🔄 Refresh</button>
307
- </div>
308
-
309
- <div class="log-viewer" id="logViewer">
310
- Welcome to BRAIN Alpha Simulator!
311
-
312
- This interface will show:
313
- - Real-time simulation progress
314
- - Authentication status
315
- - Alpha generation results
316
- - Error messages and warnings
317
-
318
- Configure your parameters and click "Start Simulation" to begin.
319
- </div>
320
-
321
- <div id="simulationProgress" style="margin-top: 15px; display: none;">
322
- <div style="display: flex; justify-content: space-between; align-items: center;">
323
- <span>Progress:</span>
324
- <span id="progressText">0/0</span>
325
- </div>
326
- <div style="background: #e9ecef; height: 8px; border-radius: 4px; margin-top: 5px;">
327
- <div id="progressBar" style="background: #28a745; height: 100%; border-radius: 4px; width: 0%; transition: width 0.3s;"></div>
328
- </div>
329
- </div>
330
- </div>
331
- </div>
332
-
333
- <!-- Results Section -->
334
- <div class="simulator-panel" id="resultsPanel" style="margin-top: 20px; display: none;">
335
- <h3>✅ Simulation Request Sent Successfully</h3>
336
- <div id="simulationResults"></div>
337
- </div>
338
- </div>
339
-
340
- <script src="{{ url_for('static', filename='simulator.js') }}"></script>
341
- <script src="{{ url_for('static', filename='usage_widget.js') }}"></script>
342
- </body>
343
- </html>