PyBreeze 1.0.4__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 (109) hide show
  1. automation_ide/__init__.py +7 -0
  2. automation_ide/__main__.py +0 -0
  3. automation_ide/automation_editor_ui/__init__.py +0 -0
  4. automation_ide/automation_editor_ui/connect_gui/__init__.py +0 -0
  5. automation_ide/automation_editor_ui/connect_gui/ssh/__init__.py +0 -0
  6. automation_ide/automation_editor_ui/connect_gui/ssh/ssh_command_widget.py +246 -0
  7. automation_ide/automation_editor_ui/connect_gui/ssh/ssh_file_viewer_widget.py +501 -0
  8. automation_ide/automation_editor_ui/connect_gui/ssh/ssh_login_widget.py +67 -0
  9. automation_ide/automation_editor_ui/connect_gui/ssh/ssh_main_widget.py +49 -0
  10. automation_ide/automation_editor_ui/connect_gui/url/__init__.py +0 -0
  11. automation_ide/automation_editor_ui/connect_gui/url/ai_code_review_gui.py +177 -0
  12. automation_ide/automation_editor_ui/editor_main/__init__.py +0 -0
  13. automation_ide/automation_editor_ui/editor_main/main_ui.py +104 -0
  14. automation_ide/automation_editor_ui/extend_ai_gui/__init__.py +0 -0
  15. automation_ide/automation_editor_ui/extend_ai_gui/ai_gui_global_variable.py +40 -0
  16. automation_ide/automation_editor_ui/extend_ai_gui/code_review/__init__.py +0 -0
  17. automation_ide/automation_editor_ui/extend_ai_gui/code_review/code_review_thread.py +81 -0
  18. automation_ide/automation_editor_ui/extend_ai_gui/code_review/cot_code_review_gui.py +82 -0
  19. automation_ide/automation_editor_ui/extend_ai_gui/prompt_edit_gui/__init__.py +0 -0
  20. automation_ide/automation_editor_ui/extend_ai_gui/prompt_edit_gui/cot_code_review_prompt_templates/__init__.py +0 -0
  21. automation_ide/automation_editor_ui/extend_ai_gui/prompt_edit_gui/cot_code_review_prompt_templates/code_smell_detector.py +22 -0
  22. automation_ide/automation_editor_ui/extend_ai_gui/prompt_edit_gui/cot_code_review_prompt_templates/first_code_review.py +17 -0
  23. automation_ide/automation_editor_ui/extend_ai_gui/prompt_edit_gui/cot_code_review_prompt_templates/first_summary_prompt.py +17 -0
  24. automation_ide/automation_editor_ui/extend_ai_gui/prompt_edit_gui/cot_code_review_prompt_templates/global_rule.py +59 -0
  25. automation_ide/automation_editor_ui/extend_ai_gui/prompt_edit_gui/cot_code_review_prompt_templates/judge.py +91 -0
  26. automation_ide/automation_editor_ui/extend_ai_gui/prompt_edit_gui/cot_code_review_prompt_templates/judge_single_review.py +85 -0
  27. automation_ide/automation_editor_ui/extend_ai_gui/prompt_edit_gui/cot_code_review_prompt_templates/linter.py +17 -0
  28. automation_ide/automation_editor_ui/extend_ai_gui/prompt_edit_gui/cot_code_review_prompt_templates/step_by_step_analysis.py +35 -0
  29. automation_ide/automation_editor_ui/extend_ai_gui/prompt_edit_gui/cot_code_review_prompt_templates/total_summary.py +66 -0
  30. automation_ide/automation_editor_ui/extend_ai_gui/prompt_edit_gui/cot_prompt_editor_widget.py +136 -0
  31. automation_ide/automation_editor_ui/extend_ai_gui/prompt_edit_gui/skills_prompt_editor_widget.py +136 -0
  32. automation_ide/automation_editor_ui/extend_ai_gui/prompt_edit_gui/skills_prompt_templates/__init__.py +0 -0
  33. automation_ide/automation_editor_ui/extend_ai_gui/prompt_edit_gui/skills_prompt_templates/code_explainer.py +21 -0
  34. automation_ide/automation_editor_ui/extend_ai_gui/prompt_edit_gui/skills_prompt_templates/code_review.py +37 -0
  35. automation_ide/automation_editor_ui/extend_ai_gui/skills/__init__.py +0 -0
  36. automation_ide/automation_editor_ui/extend_ai_gui/skills/skills_send_gui.py +98 -0
  37. automation_ide/automation_editor_ui/extend_multi_language/__init__.py +0 -0
  38. automation_ide/automation_editor_ui/extend_multi_language/extend_english.py +272 -0
  39. automation_ide/automation_editor_ui/extend_multi_language/extend_traditional_chinese.py +272 -0
  40. automation_ide/automation_editor_ui/extend_multi_language/update_language_dict.py +8 -0
  41. automation_ide/automation_editor_ui/menu/__init__.py +0 -0
  42. automation_ide/automation_editor_ui/menu/automation_menu/__init__.py +0 -0
  43. automation_ide/automation_editor_ui/menu/automation_menu/api_testka_menu/__init__.py +0 -0
  44. automation_ide/automation_editor_ui/menu/automation_menu/api_testka_menu/build_api_testka_menu.py +137 -0
  45. automation_ide/automation_editor_ui/menu/automation_menu/auto_control_menu/__init__.py +0 -0
  46. automation_ide/automation_editor_ui/menu/automation_menu/auto_control_menu/build_autocontrol_menu.py +169 -0
  47. automation_ide/automation_editor_ui/menu/automation_menu/automation_file_menu/__init__.py +0 -0
  48. automation_ide/automation_editor_ui/menu/automation_menu/automation_file_menu/build_automation_file_menu.py +122 -0
  49. automation_ide/automation_editor_ui/menu/automation_menu/load_density_menu/__init__.py +0 -0
  50. automation_ide/automation_editor_ui/menu/automation_menu/load_density_menu/build_load_density_menu.py +137 -0
  51. automation_ide/automation_editor_ui/menu/automation_menu/mail_thunder_menu/__init__.py +0 -0
  52. automation_ide/automation_editor_ui/menu/automation_menu/mail_thunder_menu/build_mail_thunder_menu.py +88 -0
  53. automation_ide/automation_editor_ui/menu/automation_menu/test_pioneer_menu/__init__.py +0 -0
  54. automation_ide/automation_editor_ui/menu/automation_menu/test_pioneer_menu/build_test_pioneer_menu.py +62 -0
  55. automation_ide/automation_editor_ui/menu/automation_menu/web_runner_menu/__init__.py +0 -0
  56. automation_ide/automation_editor_ui/menu/automation_menu/web_runner_menu/build_webrunner_menu.py +119 -0
  57. automation_ide/automation_editor_ui/menu/build_menubar.py +47 -0
  58. automation_ide/automation_editor_ui/menu/install_menu/__init__.py +0 -0
  59. automation_ide/automation_editor_ui/menu/install_menu/automation_menu/__init__.py +0 -0
  60. automation_ide/automation_editor_ui/menu/install_menu/automation_menu/build_automation_install_menu.py +82 -0
  61. automation_ide/automation_editor_ui/menu/install_menu/install_utils.py +21 -0
  62. automation_ide/automation_editor_ui/menu/install_menu/tools_menu/__init__.py +0 -0
  63. automation_ide/automation_editor_ui/menu/install_menu/tools_menu/build_tool_install_menu.py +29 -0
  64. automation_ide/automation_editor_ui/menu/menu_utils.py +16 -0
  65. automation_ide/automation_editor_ui/menu/tools/__init__.py +0 -0
  66. automation_ide/automation_editor_ui/menu/tools/tools_menu.py +162 -0
  67. automation_ide/automation_editor_ui/show_code_window/__init__.py +0 -0
  68. automation_ide/automation_editor_ui/show_code_window/code_window.py +21 -0
  69. automation_ide/automation_editor_ui/syntax/__init__.py +0 -0
  70. automation_ide/automation_editor_ui/syntax/syntax_extend.py +40 -0
  71. automation_ide/automation_editor_ui/syntax/syntax_keyword.py +163 -0
  72. automation_ide/extend/__init__.py +0 -0
  73. automation_ide/extend/mail_thunder_extend/__init__.py +0 -0
  74. automation_ide/extend/mail_thunder_extend/mail_thunder_setting.py +36 -0
  75. automation_ide/extend/process_executor/__init__.py +0 -0
  76. automation_ide/extend/process_executor/api_testka/__init__.py +0 -0
  77. automation_ide/extend/process_executor/api_testka/api_testka_process.py +66 -0
  78. automation_ide/extend/process_executor/auto_control/__init__.py +0 -0
  79. automation_ide/extend/process_executor/auto_control/auto_control_process.py +62 -0
  80. automation_ide/extend/process_executor/file_automation/__init__.py +0 -0
  81. automation_ide/extend/process_executor/file_automation/file_automation_process.py +66 -0
  82. automation_ide/extend/process_executor/load_density/__init__.py +0 -0
  83. automation_ide/extend/process_executor/load_density/load_density_process.py +66 -0
  84. automation_ide/extend/process_executor/mail_thunder/__init__.py +0 -0
  85. automation_ide/extend/process_executor/mail_thunder/mail_thunder_process.py +16 -0
  86. automation_ide/extend/process_executor/process_executor_utils.py +72 -0
  87. automation_ide/extend/process_executor/python_task_process_manager.py +177 -0
  88. automation_ide/extend/process_executor/test_pioneer/__init__.py +0 -0
  89. automation_ide/extend/process_executor/test_pioneer/test_pioneer_process_manager.py +181 -0
  90. automation_ide/extend/process_executor/web_runner/__init__.py +0 -0
  91. automation_ide/extend/process_executor/web_runner/web_runner_process.py +66 -0
  92. automation_ide/utils/__init__.py +0 -0
  93. automation_ide/utils/exception/__init__.py +0 -0
  94. automation_ide/utils/exception/exception_tags.py +37 -0
  95. automation_ide/utils/exception/exceptions.py +50 -0
  96. automation_ide/utils/file_process/__init__.py +0 -0
  97. automation_ide/utils/file_process/get_dir_file_list.py +29 -0
  98. automation_ide/utils/json_format/__init__.py +1 -0
  99. automation_ide/utils/json_format/json_process.py +28 -0
  100. automation_ide/utils/logging/__init__.py +0 -0
  101. automation_ide/utils/logging/logger.py +50 -0
  102. automation_ide/utils/manager/__init__.py +0 -0
  103. automation_ide/utils/manager/package_manager/__init__.py +0 -0
  104. automation_ide/utils/manager/package_manager/package_manager_class.py +18 -0
  105. pybreeze-1.0.4.dist-info/METADATA +69 -0
  106. pybreeze-1.0.4.dist-info/RECORD +109 -0
  107. pybreeze-1.0.4.dist-info/WHEEL +5 -0
  108. pybreeze-1.0.4.dist-info/licenses/LICENSE +21 -0
  109. pybreeze-1.0.4.dist-info/top_level.txt +1 -0
@@ -0,0 +1,98 @@
1
+ import sys
2
+ import requests
3
+ from PySide6.QtWidgets import (
4
+ QApplication, QWidget, QVBoxLayout, QLineEdit,
5
+ QTextEdit, QPushButton, QLabel, QComboBox
6
+ )
7
+ from PySide6.QtCore import QThread, Signal
8
+ from je_editor import language_wrapper
9
+
10
+ from automation_ide.automation_editor_ui.extend_ai_gui.ai_gui_global_variable import SKILLS_TEMPLATE_FILES
11
+
12
+
13
+ class RequestThread(QThread):
14
+ finished = Signal(str) # 成功或錯誤訊息
15
+ error = Signal(str)
16
+
17
+ def __init__(self, api_url, code_text):
18
+ super().__init__()
19
+ self.api_url = api_url
20
+ self.code_text = code_text
21
+
22
+ def run(self):
23
+ try:
24
+ response = requests.post(self.api_url, json={"code": self.code_text})
25
+ if response.status_code == 200:
26
+ self.finished.emit(response.text)
27
+ else:
28
+ self.finished.emit(
29
+ language_wrapper.language_word_dict.get(
30
+ "skills_error_status").format(status_code=response.status_code, text=response.text))
31
+ except Exception as e:
32
+ self.error.emit(language_wrapper.language_word_dict.get("skills_exception").format(error=str(e)))
33
+
34
+
35
+ class SkillsSendGUI(QWidget):
36
+ def __init__(self):
37
+ super().__init__()
38
+
39
+ layout = QVBoxLayout()
40
+
41
+ # API URL 輸入框
42
+ self.api_url_label = QLabel(language_wrapper.language_word_dict.get("skills_api_url_label"))
43
+ self.api_url_input = QLineEdit()
44
+ self.api_url_input.setPlaceholderText(language_wrapper.language_word_dict.get("skills_api_url_placeholder"))
45
+ layout.addWidget(self.api_url_label)
46
+ layout.addWidget(self.api_url_input)
47
+
48
+ # Prompt 選擇下拉選單
49
+ self.prompt_select_label = QLabel(language_wrapper.language_word_dict.get("skills_prompt_select_label"))
50
+ self.prompt_select = QComboBox()
51
+ self.prompt_select.addItems(SKILLS_TEMPLATE_FILES)
52
+ layout.addWidget(self.prompt_select_label)
53
+ layout.addWidget(self.prompt_select)
54
+
55
+ # Prompt 輸入區域
56
+ self.prompt_label = QLabel(language_wrapper.language_word_dict.get("skills_prompt_label"))
57
+ self.prompt_input = QTextEdit()
58
+ layout.addWidget(self.prompt_label)
59
+ layout.addWidget(self.prompt_input)
60
+
61
+ # 傳送按鈕
62
+ self.send_button = QPushButton(language_wrapper.language_word_dict.get("skills_send_button"))
63
+ self.send_button.clicked.connect(self.send_prompt)
64
+ layout.addWidget(self.send_button)
65
+
66
+ # 回傳結果顯示區域
67
+ self.response_label = QLabel(language_wrapper.language_word_dict.get("skills_response_label"))
68
+ self.response_output = QTextEdit()
69
+ self.response_output.setReadOnly(True)
70
+ layout.addWidget(self.response_label)
71
+ layout.addWidget(self.response_output)
72
+
73
+ self.setLayout(layout)
74
+
75
+ self.thread = None # 保存執行緒
76
+
77
+ def send_prompt(self):
78
+ api_url = self.api_url_input.text().strip()
79
+ prompt_text = self.prompt_input.toPlainText().strip()
80
+
81
+ if not api_url or not prompt_text:
82
+ self.response_output.setPlainText(language_wrapper.language_word_dict.get("skills_missing_input"))
83
+ return
84
+
85
+ # 顯示「產生中」
86
+ self.response_output.setPlainText(language_wrapper.language_word_dict.get("skills_generating"))
87
+
88
+ # 啟動 QThread
89
+ self.thread = RequestThread(api_url, prompt_text)
90
+ self.thread.finished.connect(self.on_finished)
91
+ self.thread.error.connect(self.on_error)
92
+ self.thread.start()
93
+
94
+ def on_finished(self, result):
95
+ self.response_output.setPlainText(result)
96
+
97
+ def on_error(self, error_msg):
98
+ self.response_output.setPlainText(error_msg)
@@ -0,0 +1,272 @@
1
+ from je_editor import english_word_dict
2
+
3
+
4
+ def update_english_word_dict():
5
+ english_word_dict.update(
6
+ {
7
+ # application name
8
+ "automation_editor_application_name": "Automation Editor",
9
+ # Menubar
10
+ "automation_menu_label": "Automation",
11
+ "install_menu_label": "Install",
12
+ # Normal label
13
+ "run_label": "Run",
14
+ "help_label": "HELP",
15
+ "project_label": "Project",
16
+ # APITestka Menu
17
+ "apitestka_menu_label": "APITestka",
18
+ "apitestka_run_script_label": "Run APITestka Script",
19
+ "apitestka_run_script_with_send_label": "Run APITestka With Send",
20
+ "apitestka_run_multi_script_label": "Run Multi APITestka Script",
21
+ "apitestka_run_multi_script_with_send_label": "Run Multi APITestka Script With Send",
22
+ "apitestka_doc_label": "Open APITestka Doc",
23
+ "apitestka_doc_tab_label": "APITestka Doc",
24
+ "apitestka_github_label": "Open APITestka GitHub",
25
+ "apitestka_github_tab_label": "APITestka GitHub",
26
+ "apitestka_create_project_label": "Create APITestka Project",
27
+ # Autocontrol Menu
28
+ "autocontrol_menu_label": "Autocontrol",
29
+ "autocontrol_run_script_label": "Run Autocontrol Script",
30
+ "autocontrol_run_script_with_send_label": "Run Autocontrol With Send",
31
+ "autocontrol_run_multi_script_label": "Run Multi Autocontrol Script",
32
+ "autocontrol_run_multi_script_with_send_label": "Run Multi Autocontrol Script With Send",
33
+ "autocontrol_doc_label": "Open Autocontrol Doc",
34
+ "autocontrol_doc_tab_label": "Autocontrol Doc",
35
+ "autocontrol_github_label": "Open Autocontrol GitHub",
36
+ "autocontrol_github_tab_label": "Autocontrol GitHub",
37
+ "autocontrol_create_project_label": "Create Autocontrol Project",
38
+ "autocontrol_record_menu_label": "Record",
39
+ "autocontrol_record_start_label": "Record Start",
40
+ "autocontrol_record_stop_label": "Record Stop",
41
+ # File Automation Menu
42
+ "file_automation_menu_label": "FileAutomation",
43
+ "file_automation_run_script_label": "Run FileAutomation Script",
44
+ "file_automation_run_script_with_send_label": "Run FileAutomation With Send",
45
+ "file_automation_run_multi_script_label": "Run Multi FileAutomation Script",
46
+ "file_automation_run_multi_script_with_send_label": "Run Multi FileAutomation Script With Send",
47
+ "file_automation_doc_label": "Open FileAutomation Doc",
48
+ "file_automation_doc_tab_label": "FileAutomation Doc",
49
+ "file_automation_github_label": "Open FileAutomation GitHub",
50
+ "file_automation_github_tab_label": "FileAutomation GitHub",
51
+ "file_automation_create_project_label": "Create FileAutomation Project",
52
+ # Load Density Menu
53
+ "load_density_menu_label": "LoadDensity",
54
+ "load_density_run_script_label": "Run LoadDensity Script",
55
+ "load_density_run_script_with_send_label": "Run LoadDensity With Send",
56
+ "load_density_run_multi_script_label": "Run Multi LoadDensity Script",
57
+ "load_density_run_multi_script_with_send_label": "Run Multi LoadDensity Script With Send",
58
+ "load_density_doc_label": "Open LoadDensity Doc",
59
+ "load_density_doc_tab_label": "LoadDensity Doc",
60
+ "load_density_github_label": "Open LoadDensity GitHub",
61
+ "load_density_github_tab_label": "LoadDensity GitHub",
62
+ "load_density_create_project_label": "Create LoadDensity Project",
63
+ # Mail Thunder Menu
64
+ "mail_thunder_menu_label": "MailThunder",
65
+ "mail_thunder_run_script_label": "Run MailThunder Script",
66
+ "mail_thunder_doc_label": "Open MailThunder Doc",
67
+ "mail_thunder_doc_tab_label": "MailThunder Doc",
68
+ "mail_thunder_github_label": "Open MailThunder GitHub",
69
+ "mail_thunder_github_tab_label": "MailThunder GitHub",
70
+ "mail_thunder_create_project_label": "Create MailThunder Project",
71
+ # Webrunner Menu
72
+ "web_runner_menu_label": "WebRunner",
73
+ "web_runner_run_script_label": "Run WebRunner Script",
74
+ "web_runner_run_script_with_send_label": "Run WebRunner With Send",
75
+ "web_runner_run_multi_script_label": "Run Multi WebRunner Script",
76
+ "web_runner_run_multi_script_with_send_label": "Run Multi WebRunner Script With Send",
77
+ "web_runner_doc_label": "Open WebRunner Doc",
78
+ "web_runner_doc_tab_label": "WebRunner Doc",
79
+ "web_runner_github_label": "Open WebRunner GitHub",
80
+ "web_runner_github_tab_label": "WebRunner GitHub",
81
+ "web_runner_create_project_label": "Create WebRunner Project",
82
+ # Install Menu
83
+ "install_menu_autocontrol": "Install AutoControl",
84
+ "install_menu_apitestka": "Install APITestka",
85
+ "install_menu_loaddensity": "Install LoadDensity",
86
+ "install_menu_webrunner": "Install WebRunner",
87
+ "install_menu_automation_file": "Install Automation File",
88
+ "install_menu_mail_thunder": "Install MailThunder",
89
+ "install_menu_tools_install_menu_label": "Tools",
90
+ "install_menu_tools_install_build_tools": "Install Build Tools",
91
+ # Tools Menu
92
+ "tools_menu_re_edge_gpt_label": "ReEdgeGPT",
93
+ "tools_menu_re_edge_gpt_doc_label": "Open ReEdgeGPT Doc",
94
+ "tools_menu_re_edge_gpt_doc_tab_label": "ReEdgeGPT Doc",
95
+ "tools_menu_re_edge_gpt_github_label": "Open ReEdgeGPT GitHub",
96
+ "tools_menu_re_edge_gpt_github_tab_label": "ReEdgeGPT GitHub",
97
+ # Test Pioneer Menu
98
+ "test_pioneer_label": "TestPioneer",
99
+ "test_pioneer_create_template_label": "Create TestPioneer Yaml template",
100
+ "test_pioneer_run_yaml": "Execute Test Pioneer Yaml",
101
+ "test_pioneer_not_choose_yaml": "Please choose a Yaml file",
102
+ # SSH command widget
103
+ "ssh_command_widget_window_title_ssh_command_widget": "SSH Command Widget",
104
+ "ssh_command_widget_button_label_send_command": "Send",
105
+ "ssh_command_widget_input_placeholder_command_line": "Type command then Enter...",
106
+ "ssh_command_widget_dialog_title_input_error": "Input error",
107
+ "ssh_command_widget_dialog_message_input_error_host_user_required": "Host and username are required.",
108
+ "ssh_command_widget_dialog_title_key_error": "Key error",
109
+ "ssh_command_widget_dialog_message_key_file_not_exist": "Key file does not exist.",
110
+ "ssh_command_widget_error_message_unsupported_private_key": "Unsupported or invalid private key.",
111
+ "ssh_command_widget_error_message_key_auth_failed": "Key auth failed",
112
+ "ssh_command_widget_status_label_connected": "Connected",
113
+ "ssh_command_widget_status_label_disconnected": "Disconnected",
114
+ "ssh_command_widget_log_message_connected": "Connected to",
115
+ "ssh_command_widget_log_message_error": "[Error] ",
116
+ "ssh_command_widget_error_message_decode_failed": "<decode error> ",
117
+ "ssh_command_widget_log_message_channel_closed": "[Channel closed]",
118
+ "ssh_command_widget_error_message_reader_failed": "Reader error",
119
+ "ssh_command_widget_log_message_reader_closed": "Reader closed",
120
+ "ssh_command_widget_error_message_send_failed": "[Send error]",
121
+ "ssh_command_widget_dialog_title_not_connected": "Not connected",
122
+ "ssh_command_widget_dialog_message_not_connected_shell": "SSH shell is not connected.",
123
+ "ssh_command_widget_log_message_disconnect_in_progress": "[Disconnecting...]",
124
+ # SSH File Viewer GUI
125
+ "ssh_file_viewer_dialog_title_list_error": "List error",
126
+ "ssh_file_viewer_dialog_message_list_failed": "Failed to list",
127
+ "ssh_file_viewer_dialog_title_operation_failed": "Operation failed",
128
+ "ssh_file_viewer_dialog_message_operation_failed": "Error",
129
+ "ssh_file_viewer_context_menu_action_refresh": "Refresh",
130
+ "ssh_file_viewer_context_menu_action_create_folder": "Create folder",
131
+ "ssh_file_viewer_context_menu_action_rename": "Rename",
132
+ "ssh_file_viewer_context_menu_action_delete": "Delete",
133
+ "ssh_file_viewer_context_menu_action_download": "Download",
134
+ "ssh_file_viewer_context_menu_action_upload": "Upload to this folder",
135
+ "ssh_file_viewer_log_message_refreshing": "Refreshing current item children (or root)",
136
+ "ssh_file_viewer_dialog_title_no_selection": "No selection",
137
+ "ssh_file_viewer_dialog_message_select_folder_to_create": "Select a folder to create inside.",
138
+ "ssh_file_viewer_dialog_title_create_folder": "Create folder",
139
+ "ssh_file_viewer_dialog_label_folder_name": "Folder name:",
140
+ "ssh_file_viewer_dialog_title_rename": "Rename",
141
+ "ssh_file_viewer_dialog_label_new_name_for_item": "New name for",
142
+ "ssh_file_viewer_dialog_title_confirm_delete": "Confirm delete",
143
+ "ssh_file_viewer_dialog_message_confirm_delete": "Delete",
144
+ "ssh_file_viewer_dialog_title_invalid_selection": "Invalid selection",
145
+ "ssh_file_viewer_dialog_message_select_file_to_download": "Select a file to download.",
146
+ "ssh_file_viewer_dialog_title_save_as": "Save as",
147
+ "ssh_file_viewer_dialog_title_downloaded": "Downloaded",
148
+ "ssh_file_viewer_dialog_message_saved_to": "Saved to",
149
+ "ssh_file_viewer_dialog_title_select_local_file": "Select local file to upload",
150
+ "ssh_file_viewer_dialog_title_uploaded": "Uploaded",
151
+ "ssh_file_viewer_dialog_message_uploaded_to": "Uploaded to",
152
+ "ssh_file_viewer_dialog_label_input_text": "Input text",
153
+ "ssh_file_viewer_dialog_button_ok": "OK",
154
+ "ssh_file_viewer_window_title_file_tree_manager": "SSH File TreeView Manager",
155
+ "ssh_file_viewer_tree_header_name": "Name",
156
+ "ssh_file_viewer_tree_header_type": "Type",
157
+ "ssh_file_viewer_tree_header_size": "Size",
158
+ "ssh_file_viewer_tree_header_path": "Path",
159
+ "ssh_file_viewer_dialog_title_missing_input": "Missing input",
160
+ "ssh_file_viewer_dialog_message_missing_input": "Host, user, and password are required.",
161
+ "ssh_file_viewer_dialog_title_connection_failed": "Connection failed",
162
+ "ssh_file_viewer_dialog_message_connection_failed": "Failed to connect",
163
+ # SSH Login Widget
164
+ "ssh_login_widget_label_host": "Host",
165
+ "ssh_login_widget_label_port": "Port",
166
+ "ssh_login_widget_label_user": "User",
167
+ "ssh_login_widget_label_key": "Key",
168
+ "ssh_login_widget_label_password": "Password",
169
+ "ssh_login_widget_placeholder_host": "Host (e.g., 192.168.0.10)",
170
+ "ssh_login_widget_placeholder_username": "Username",
171
+ "ssh_login_widget_placeholder_password": "Password",
172
+ "ssh_login_widget_placeholder_private_key": "Private key path (.pem/.ppk)",
173
+ "ssh_login_widget_button_use_key_auth": "Use key auth",
174
+ "ssh_login_widget_button_connect": "Connect",
175
+ "ssh_login_widget_button_disconnect": "Disconnect",
176
+ "ssh_login_widget_status_disconnected": "Disconnected",
177
+ # AI Code Review GUI
178
+ "ai_code_review_gui_window_title": "AI Code-Review Client",
179
+ "ai_code_review_gui_label_url": "URL:",
180
+ "ai_code_review_gui_label_method": "Method:",
181
+ "ai_code_review_gui_label_code_to_send": "Code to Send:",
182
+ "ai_code_review_gui_label_response": "Response:",
183
+ "ai_code_review_gui_button_send_request": "Send Request",
184
+ "ai_code_review_gui_button_accept_response": "Accept Response",
185
+ "ai_code_review_gui_button_reject_response": "Reject Response",
186
+ "ai_code_review_gui_message_enter_valid_url": "Please enter a valid URL",
187
+ "ai_code_review_gui_message_url_already_recorded": "This URL is already recorded, still sending request...",
188
+ "ai_code_review_gui_message_new_url_recorded": "New URL recorded, sending request...",
189
+ "ai_code_review_gui_message_unsupported_http_method": "Unsupported HTTP method",
190
+ "ai_code_review_gui_message_error": "Error",
191
+ "ai_code_review_gui_status_accepted": "[Accepted]",
192
+ "ai_code_review_gui_status_rejected": "[Rejected]",
193
+ "ai_code_review_gui_status_save_failed": "Save failed",
194
+ # CoT Prompt Editor
195
+ "cot_prompt_editor_window_title": "CoT Prompt Editor",
196
+ "cot_prompt_editor_groupbox_edit_file_content": "Edit File Content",
197
+ "cot_prompt_editor_button_create_file": "Create File",
198
+ "cot_prompt_editor_button_save_file": "Save",
199
+ "cot_prompt_editor_button_reload_file": "Reload",
200
+ "cot_prompt_editor_msgbox_info_title": "Info",
201
+ "cot_prompt_editor_msgbox_success_title": "Success",
202
+ "cot_prompt_editor_msgbox_error_title": "Error",
203
+ "cot_prompt_editor_msgbox_file_exists": "File {filename} already exists, no need to create",
204
+ "cot_prompt_editor_msgbox_file_created": "File {filename} has been created",
205
+ "cot_prompt_editor_msgbox_file_saved": "File {filename} saved",
206
+ "cot_prompt_editor_msgbox_no_file_selected": "No file selected",
207
+ "cot_prompt_editor_file_not_exist": "(File {filename} does not exist)",
208
+ # Skill Prompt Editor
209
+ "skill_prompt_editor_window_title": "Skill Prompt Editor",
210
+ "skill_prompt_editor_groupbox_edit_file_content": "Edit File Content",
211
+ "skill_prompt_editor_button_create_file": "Create File",
212
+ "skill_prompt_editor_button_save_file": "Save",
213
+ "skill_prompt_editor_button_reload_file": "Reload",
214
+ "skill_prompt_editor_msgbox_info_title": "Info",
215
+ "skill_prompt_editor_msgbox_success_title": "Success",
216
+ "skill_prompt_editor_msgbox_error_title": "Error",
217
+ "skill_prompt_editor_msgbox_file_exists": "File {filename} already exists, no need to create",
218
+ "skill_prompt_editor_msgbox_file_created": "File {filename} has been created",
219
+ "skill_prompt_editor_msgbox_file_saved": "File {filename} saved",
220
+ "skill_prompt_editor_msgbox_no_file_selected": "No file selected",
221
+ "skill_prompt_editor_file_not_exist": "(File {filename} does not exist)",
222
+ # Extend Menu
223
+ "extend_tools_menu_tools_menu": "Tools",
224
+ "extend_tools_menu_tools_ssh_menu": "SSH",
225
+ "extend_tools_menu_tools_ai_menu": "AI",
226
+ "extend_tools_menu_ssh_client_tab_action": "SSH Client Tab",
227
+ "extend_tools_menu_ssh_client_tab_label": "SSH Client",
228
+ "extend_tools_menu_ai_code_review_tab_action": "AI Code-Review Tab",
229
+ "extend_tools_menu_ai_code_review_tab_label": "AI Code-Review",
230
+ "extend_tools_menu_cot_prompt_editor_tab_action": "CoT Prompt Editor",
231
+ "extend_tools_menu_cot_prompt_editor_tab_label": "CoT Prompt Editor",
232
+ "extend_tools_menu_skill_prompt_editor_tab_action": "Skill Prompt Editor",
233
+ "extend_tools_menu_skill_prompt_editor_tab_label": "Skill Prompt Editor",
234
+ "extend_tools_menu_skill_prompt_send_tab_label": "Skill Send GUI",
235
+ "extend_tools_menu_dock_ssh_menu": "SSH",
236
+ "extend_tools_menu_dock_ai_menu": "AI",
237
+ "extend_tools_menu_ssh_client_dock_action": "SSH Client Dock",
238
+ "extend_tools_menu_ai_code_review_dock_action": "AI Code-Review Dock",
239
+ "extend_tools_menu_cot_prompt_editor_dock_action": "CoT Prompt Editor Dock",
240
+ "extend_tools_menu_skill_prompt_editor_dock_action": "Skill Prompt Editor Dock",
241
+ "extend_tools_menu_ssh_client_dock_title": "SSH Client",
242
+ "extend_tools_menu_ai_code_review_dock_title": "AI Code-Review",
243
+ "extend_tools_menu_cot_prompt_editor_dock_title": "CoT PromptEditor",
244
+ "extend_tools_menu_skill_prompt_editor_dock_title": "Skill PromptEditor",
245
+ "extend_tools_menu_skill_prompt_send_dock_action": "Skill Prompt Dock",
246
+ "extend_tools_menu_skill_prompt_send_dock_title": "Skill Send GUI",
247
+ # CoT code-review GUI
248
+ "cot_gui_window_title": "Prompt Sender UI",
249
+ "cot_gui_label_api_url": "API URL:",
250
+ "cot_gui_placeholder_api_url": "Please enter the API URL to send, e.g. http://127.0.0.1:5000/api",
251
+ "cot_gui_placeholder_code_paste_area": "You can put the code to be sent",
252
+ "cot_gui_label_prompt_area": "Prompt Area",
253
+ "cot_gui_label_response_area": "Response Area",
254
+ "cot_gui_button_send": "Start Sending",
255
+ "cot_gui_error_read_file": "Unable to read file:",
256
+ "cot_gui_error_no_url": "Please enter the API URL first!",
257
+ "cot_gui_error_sending": "Error sending:",
258
+ # Skills GUI
259
+ "skills_finished_signal": "Success or error message",
260
+ "skills_error_signal": "Exception occurred",
261
+ "skills_error_status": "Error: {status_code}\n{text}",
262
+ "skills_exception": "Exception occurred: {error}",
263
+ "skills_api_url_label": "LLM API URL:",
264
+ "skills_api_url_placeholder": "Enter the API URL to send, e.g. http://127.0.0.1:5000/api",
265
+ "skills_prompt_select_label": "Select Prompt Template:",
266
+ "skills_prompt_label": "Prompt:",
267
+ "skills_send_button": "Send",
268
+ "skills_response_label": "Response:",
269
+ "skills_missing_input": "Please enter API URL and Prompt",
270
+ "skills_generating": "Generating...",
271
+ }
272
+ )