jadio-code 0.0.1__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 (108) hide show
  1. jadio_code/Backend/main/code_aigent/aigent_bottombox_core.py +0 -0
  2. jadio_code/Backend/main/code_aigent/aigent_chatwindow_core.py +0 -0
  3. jadio_code/Backend/main/code_aigent/aigent_core.py +0 -0
  4. jadio_code/Backend/main/code_aigent/aigent_sidebar_core.py +0 -0
  5. jadio_code/Backend/main/code_aigent/aigent_terminal_core.py +0 -0
  6. jadio_code/Backend/main/code_aigent/aigent_topbox_core.py +0 -0
  7. jadio_code/Backend/main/editor/editor_core.py +0 -0
  8. jadio_code/Backend/main/explorer/exploer_sidebar_core.py +0 -0
  9. jadio_code/Backend/main/explorer/explorer_core.py +0 -0
  10. jadio_code/Backend/main/terminal/terminal_core.py +0 -0
  11. jadio_code/Backend/sub/code_doctor/code_doctor_core.py +0 -0
  12. jadio_code/Backend/sub/help/help_core.py +0 -0
  13. jadio_code/Backend/sub/lan/lan_core.py +0 -0
  14. jadio_code/Backend/sub/llm/llm_core.py +0 -0
  15. jadio_code/Backend/sub/plugins/plugins_core.py +0 -0
  16. jadio_code/Backend/sub/settings/settings_core.py +0 -0
  17. jadio_code/UI/__init__.py +0 -0
  18. jadio_code/UI/icons/bell.svg +4 -0
  19. jadio_code/UI/icons/bolt.svg +3 -0
  20. jadio_code/UI/icons/check.svg +3 -0
  21. jadio_code/UI/icons/clipboard.svg +4 -0
  22. jadio_code/UI/icons/clock.svg +5 -0
  23. jadio_code/UI/icons/cloud.svg +3 -0
  24. jadio_code/UI/icons/down.svg +3 -0
  25. jadio_code/UI/icons/download.svg +5 -0
  26. jadio_code/UI/icons/explorer.svg +4 -0
  27. jadio_code/UI/icons/eye.svg +4 -0
  28. jadio_code/UI/icons/folder.svg +3 -0
  29. jadio_code/UI/icons/folder2.svg +4 -0
  30. jadio_code/UI/icons/glass.svg +4 -0
  31. jadio_code/UI/icons/globe.svg +5 -0
  32. jadio_code/UI/icons/grid.svg +5 -0
  33. jadio_code/UI/icons/idk.svg +4 -0
  34. jadio_code/UI/icons/info.svg +5 -0
  35. jadio_code/UI/icons/left.svg +3 -0
  36. jadio_code/UI/icons/lock.svg +5 -0
  37. jadio_code/UI/icons/lock2.svg +5 -0
  38. jadio_code/UI/icons/message.svg +4 -0
  39. jadio_code/UI/icons/net.svg +12 -0
  40. jadio_code/UI/icons/pencil.svg +4 -0
  41. jadio_code/UI/icons/play.svg +4 -0
  42. jadio_code/UI/icons/plus.svg +8 -0
  43. jadio_code/UI/icons/right.svg +3 -0
  44. jadio_code/UI/icons/robot.svg +6 -0
  45. jadio_code/UI/icons/split.svg +4 -0
  46. jadio_code/UI/icons/star.svg +3 -0
  47. jadio_code/UI/icons/stop.svg +4 -0
  48. jadio_code/UI/icons/tabs.svg +5 -0
  49. jadio_code/UI/icons/terminal.svg +5 -0
  50. jadio_code/UI/icons/up.svg +3 -0
  51. jadio_code/UI/icons/upload.svg +5 -0
  52. jadio_code/UI/icons/user.svg +4 -0
  53. jadio_code/UI/icons/warning.svg +5 -0
  54. jadio_code/UI/icons/x.svg +4 -0
  55. jadio_code/UI/main.py +101 -0
  56. jadio_code/UI/mainwindows/__init__.py +0 -0
  57. jadio_code/UI/mainwindows/code_aigent/__init__.py +0 -0
  58. jadio_code/UI/mainwindows/code_aigent/aigent_controller.py +114 -0
  59. jadio_code/UI/mainwindows/code_aigent/aigent_menu.py +91 -0
  60. jadio_code/UI/mainwindows/code_aigent/aigent_sidebar.py +59 -0
  61. jadio_code/UI/mainwindows/code_aigent/aigentvision.md +315 -0
  62. jadio_code/UI/mainwindows/code_aigent/bottombox/__init__.py +0 -0
  63. jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_chat.py +9 -0
  64. jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_context.py +9 -0
  65. jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_controller.py +176 -0
  66. jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_settings.py +9 -0
  67. jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_terminal.py +11 -0
  68. jadio_code/UI/mainwindows/code_aigent/chatwindow/__init__.py +0 -0
  69. jadio_code/UI/mainwindows/code_aigent/chatwindow/aigent_chat_controller.py +28 -0
  70. jadio_code/UI/mainwindows/code_aigent/chatwindow/aigent_summary.py +9 -0
  71. jadio_code/UI/mainwindows/code_aigent/topbox/__init__.py +0 -0
  72. jadio_code/UI/mainwindows/code_aigent/topbox/topbox_context.py +9 -0
  73. jadio_code/UI/mainwindows/code_aigent/topbox/topbox_controller.py +93 -0
  74. jadio_code/UI/mainwindows/code_aigent/topbox/topbox_lan.py +9 -0
  75. jadio_code/UI/mainwindows/code_aigent/topbox/topbox_modelsettings.py +9 -0
  76. jadio_code/UI/mainwindows/code_aigent/topbox/topbox_tools.py +9 -0
  77. jadio_code/UI/mainwindows/editor/__init__.py +0 -0
  78. jadio_code/UI/mainwindows/editor/editor_code.py +14 -0
  79. jadio_code/UI/mainwindows/editor/editor_controller.py +28 -0
  80. jadio_code/UI/mainwindows/editor/editor_tabs.py +17 -0
  81. jadio_code/UI/mainwindows/editor/editor_topmenu.py +30 -0
  82. jadio_code/UI/mainwindows/explorer/__init__.py +0 -0
  83. jadio_code/UI/mainwindows/explorer/explorer_controller.py +62 -0
  84. jadio_code/UI/mainwindows/explorer/explorer_menu.py +91 -0
  85. jadio_code/UI/mainwindows/explorer/explorer_sidebar.py +57 -0
  86. jadio_code/UI/mainwindows/terminal/__init__.py +0 -0
  87. jadio_code/UI/mainwindows/terminal/terminal_controller.py +73 -0
  88. jadio_code/UI/mainwindows/terminal/terminal_menu.py +31 -0
  89. jadio_code/UI/mainwindows/terminal/terminal_shells.py +18 -0
  90. jadio_code/UI/mainwindows/terminal/terminal_window.py +15 -0
  91. jadio_code/UI/menubar.py +100 -0
  92. jadio_code/UI/styles.py +304 -0
  93. jadio_code/UI/submodules/__init__.py +0 -0
  94. jadio_code/UI/submodules/help/__init__.py +0 -0
  95. jadio_code/UI/submodules/help/help_backend.py +0 -0
  96. jadio_code/UI/submodules/help/help_window.py +0 -0
  97. jadio_code/UI/submodules/llm/__init__.py +0 -0
  98. jadio_code/UI/submodules/llm/llm_backend.py +0 -0
  99. jadio_code/UI/submodules/llm/llm_window.py +0 -0
  100. jadio_code/UI/submodules/settings/__init__.py +0 -0
  101. jadio_code/UI/submodules/settings/settings_backend.py +0 -0
  102. jadio_code/UI/submodules/settings/settings_window.py +0 -0
  103. jadio_code/__init__.py +2 -0
  104. jadio_code-0.0.1.dist-info/METADATA +201 -0
  105. jadio_code-0.0.1.dist-info/RECORD +108 -0
  106. jadio_code-0.0.1.dist-info/WHEEL +4 -0
  107. jadio_code-0.0.1.dist-info/entry_points.txt +2 -0
  108. jadio_code-0.0.1.dist-info/licenses/license.md +0 -0
@@ -0,0 +1,304 @@
1
+ """
2
+ JADIO CODE - Centralized Style System
3
+ Black, White, and Grey Professional Theme
4
+ """
5
+
6
+ class Styles:
7
+ """
8
+ Centralized styling for JADIO CODE IDE
9
+ Professional black, white, grey theme
10
+ """
11
+
12
+ # ========================================
13
+ # COLOR PALETTE
14
+ # ========================================
15
+ COLORS = {
16
+ # Backgrounds
17
+ 'bg_primary': '#0a0a0a', # Deep black - main backgrounds
18
+ 'bg_secondary': '#1a1a1a', # Dark grey - panels, sidebars
19
+ 'bg_tertiary': '#2a2a2a', # Medium grey - hover states
20
+ 'bg_input': '#141414', # Input backgrounds
21
+
22
+ # Text
23
+ 'text_primary': '#ffffff', # Pure white - main text
24
+ 'text_secondary': '#cccccc', # Light grey - secondary text
25
+ 'text_muted': '#888888', # Medium grey - muted text
26
+ 'text_disabled': '#555555', # Dark grey - disabled text
27
+
28
+ # Borders & Separators
29
+ 'border_primary': '#333333', # Main borders
30
+ 'border_secondary': '#222222', # Subtle borders
31
+ 'border_accent': '#555555', # Accent borders
32
+
33
+ # Interactive States
34
+ 'hover': '#3a3a3a', # Light grey hover
35
+ 'pressed': '#4a4a4a', # Pressed state
36
+ 'selected': '#404040', # Selected items
37
+ 'focus': '#666666', # Focus outlines
38
+ }
39
+
40
+ # ========================================
41
+ # MAIN APPLICATION STYLE
42
+ # ========================================
43
+ MAIN_STYLE = f"""
44
+ QMainWindow {{
45
+ background-color: {COLORS['bg_primary']};
46
+ color: {COLORS['text_primary']};
47
+ font-family: 'Segoe UI', Arial, sans-serif;
48
+ font-size: 13px;
49
+ }}
50
+
51
+ QWidget {{
52
+ background-color: {COLORS['bg_primary']};
53
+ color: {COLORS['text_primary']};
54
+ font-size: 13px;
55
+ }}
56
+
57
+ /* SPLITTERS */
58
+ QSplitter::handle {{
59
+ background-color: {COLORS['border_primary']};
60
+ width: 1px;
61
+ height: 1px;
62
+ }}
63
+ QSplitter::handle:hover {{
64
+ background-color: {COLORS['focus']};
65
+ }}
66
+ """
67
+
68
+ # ========================================
69
+ # BUTTON STYLES
70
+ # ========================================
71
+ BUTTON_STYLE = f"""
72
+ QPushButton {{
73
+ background-color: transparent;
74
+ border: none;
75
+ color: {COLORS['text_primary']};
76
+ font-size: 14px;
77
+ font-weight: 500;
78
+ padding: 8px;
79
+ min-height: 24px;
80
+ border-radius: 2px;
81
+ }}
82
+ QPushButton:hover {{
83
+ background-color: {COLORS['hover']};
84
+ color: {COLORS['text_primary']};
85
+ }}
86
+ QPushButton:pressed {{
87
+ background-color: {COLORS['pressed']};
88
+ }}
89
+ QPushButton:checked {{
90
+ background-color: {COLORS['selected']};
91
+ color: {COLORS['text_primary']};
92
+ border-left: 2px solid {COLORS['focus']};
93
+ }}
94
+ QPushButton:disabled {{
95
+ color: {COLORS['text_disabled']};
96
+ }}
97
+ """
98
+
99
+ # ========================================
100
+ # INPUT STYLES
101
+ # ========================================
102
+ INPUT_STYLE = f"""
103
+ QLineEdit, QTextEdit, QPlainTextEdit {{
104
+ background-color: {COLORS['bg_input']};
105
+ border: 1px solid {COLORS['border_primary']};
106
+ color: {COLORS['text_primary']};
107
+ padding: 8px;
108
+ font-family: 'Consolas', 'Monaco', monospace;
109
+ font-size: 13px;
110
+ border-radius: 2px;
111
+ }}
112
+ QLineEdit:focus, QTextEdit:focus, QPlainTextEdit:focus {{
113
+ border: 1px solid {COLORS['focus']};
114
+ background-color: {COLORS['bg_secondary']};
115
+ }}
116
+ QLineEdit::placeholder, QTextEdit::placeholder {{
117
+ color: {COLORS['text_muted']};
118
+ }}
119
+ """
120
+
121
+ # ========================================
122
+ # TREE VIEW STYLES
123
+ # ========================================
124
+ TREE_STYLE = f"""
125
+ QTreeView {{
126
+ background-color: {COLORS['bg_secondary']};
127
+ border: none;
128
+ outline: none;
129
+ color: {COLORS['text_primary']};
130
+ font-size: 13px;
131
+ alternate-background-color: {COLORS['bg_primary']};
132
+ }}
133
+ QTreeView::item {{
134
+ padding: 6px 8px;
135
+ border: none;
136
+ min-height: 20px;
137
+ }}
138
+ QTreeView::item:hover {{
139
+ background-color: {COLORS['hover']};
140
+ color: {COLORS['text_primary']};
141
+ }}
142
+ QTreeView::item:selected {{
143
+ background-color: {COLORS['selected']};
144
+ color: {COLORS['text_primary']};
145
+ border-left: 2px solid {COLORS['focus']};
146
+ }}
147
+ """
148
+
149
+ # ========================================
150
+ # SCROLLBAR STYLES
151
+ # ========================================
152
+ SCROLLBAR_STYLE = f"""
153
+ /* CLEAN VERTICAL SCROLLBAR */
154
+ QScrollBar:vertical {{
155
+ background-color: {COLORS['bg_secondary']};
156
+ width: 8px;
157
+ border: none;
158
+ margin: 0px;
159
+ }}
160
+ QScrollBar::handle:vertical {{
161
+ background-color: {COLORS['border_primary']};
162
+ border-radius: 4px;
163
+ min-height: 20px;
164
+ margin: 2px;
165
+ }}
166
+ QScrollBar::handle:vertical:hover {{
167
+ background-color: {COLORS['focus']};
168
+ }}
169
+ QScrollBar::add-line:vertical,
170
+ QScrollBar::sub-line:vertical {{
171
+ height: 0px;
172
+ background: none;
173
+ }}
174
+ QScrollBar::add-page:vertical,
175
+ QScrollBar::sub-page:vertical {{
176
+ background: none;
177
+ }}
178
+
179
+ /* HIDE HORIZONTAL SCROLLBAR */
180
+ QScrollBar:horizontal {{
181
+ height: 0px;
182
+ background: transparent;
183
+ }}
184
+ """
185
+
186
+ # ========================================
187
+ # MENU STYLES
188
+ # ========================================
189
+ MENU_STYLE = f"""
190
+ QMenuBar {{
191
+ background-color: {COLORS['bg_primary']};
192
+ color: {COLORS['text_primary']};
193
+ border-bottom: 1px solid {COLORS['border_primary']};
194
+ padding: 4px;
195
+ font-size: 14px;
196
+ font-weight: 500;
197
+ }}
198
+ QMenuBar::item {{
199
+ background-color: transparent;
200
+ padding: 8px 12px;
201
+ margin: 2px;
202
+ border-radius: 2px;
203
+ }}
204
+ QMenuBar::item:selected {{
205
+ background-color: {COLORS['hover']};
206
+ }}
207
+ QMenuBar::item:pressed {{
208
+ background-color: {COLORS['pressed']};
209
+ }}
210
+
211
+ QMenu {{
212
+ background-color: {COLORS['bg_secondary']};
213
+ color: {COLORS['text_primary']};
214
+ border: 1px solid {COLORS['border_primary']};
215
+ padding: 6px;
216
+ font-size: 13px;
217
+ }}
218
+ QMenu::item {{
219
+ padding: 8px 16px;
220
+ margin: 1px;
221
+ border-radius: 2px;
222
+ min-width: 120px;
223
+ }}
224
+ QMenu::item:selected {{
225
+ background-color: {COLORS['hover']};
226
+ }}
227
+ QMenu::separator {{
228
+ height: 1px;
229
+ background-color: {COLORS['border_primary']};
230
+ margin: 4px 8px;
231
+ }}
232
+ """
233
+
234
+ # ========================================
235
+ # COMPONENT-SPECIFIC STYLES
236
+ # ========================================
237
+
238
+ @classmethod
239
+ def get_complete_stylesheet(cls):
240
+ """Get the complete stylesheet for the entire application"""
241
+ return f"""
242
+ {cls.MAIN_STYLE}
243
+ {cls.BUTTON_STYLE}
244
+ {cls.INPUT_STYLE}
245
+ {cls.TREE_STYLE}
246
+ {cls.SCROLLBAR_STYLE}
247
+ {cls.MENU_STYLE}
248
+ """
249
+
250
+ @classmethod
251
+ def get_menu_bar_style(cls):
252
+ """Get stylesheet for menu bars (40px height)"""
253
+ return f"""
254
+ QWidget {{
255
+ background-color: {cls.COLORS['bg_primary']};
256
+ border-bottom: 1px solid {cls.COLORS['border_primary']};
257
+ max-height: 40px;
258
+ min-height: 40px;
259
+ }}
260
+ {cls.BUTTON_STYLE}
261
+ """
262
+
263
+ @classmethod
264
+ def get_sidebar_style(cls):
265
+ """Get stylesheet for vertical sidebars (48px width)"""
266
+ return f"""
267
+ QWidget {{
268
+ background-color: {cls.COLORS['bg_primary']};
269
+ border-right: 1px solid {cls.COLORS['border_primary']};
270
+ max-width: 48px;
271
+ min-width: 48px;
272
+ }}
273
+ QPushButton {{
274
+ background-color: transparent;
275
+ border: none;
276
+ color: {cls.COLORS['text_primary']};
277
+ font-size: 18px;
278
+ font-weight: 500;
279
+ text-align: center;
280
+ padding: 12px 8px;
281
+ margin: 4px 2px;
282
+ min-height: 40px;
283
+ max-height: 48px;
284
+ border-radius: 4px;
285
+ }}
286
+ QPushButton:hover {{
287
+ background-color: {cls.COLORS['hover']};
288
+ }}
289
+ QPushButton:checked {{
290
+ background-color: {cls.COLORS['selected']};
291
+ border-left: 3px solid {cls.COLORS['focus']};
292
+ border-radius: 0px 4px 4px 0px;
293
+ }}
294
+ """
295
+
296
+ @classmethod
297
+ def get_panel_style(cls):
298
+ """Get stylesheet for main panels"""
299
+ return f"""
300
+ QWidget {{
301
+ background-color: {cls.COLORS['bg_secondary']};
302
+ border: 1px solid {cls.COLORS['border_secondary']};
303
+ }}
304
+ """
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
jadio_code/__init__.py ADDED
@@ -0,0 +1,2 @@
1
+ """Jadio Code"""
2
+ __version__ = "0.0.1"
@@ -0,0 +1,201 @@
1
+ Metadata-Version: 2.4
2
+ Name: jadio-code
3
+ Version: 0.0.1
4
+ Summary: Local IDE connected to a vibrant LLM ecosystem
5
+ Project-URL: Homepage, https://pypi.org/project/jadio/
6
+ Project-URL: Repository, https://github.com/JaxxyJadio/jadio
7
+ License-Expression: MIT
8
+ License-File: license.md
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.8
14
+ Classifier: Programming Language :: Python :: 3.9
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Requires-Python: >=3.8
19
+ Requires-Dist: requests
20
+ Requires-Dist: rich
21
+ Description-Content-Type: text/markdown
22
+
23
+ # JADIO CODE
24
+
25
+ **Version:** 0.0.1
26
+ **Status:** Alpha / In Development
27
+
28
+ ---
29
+
30
+ ## ✅ What is JADIO CODE?
31
+
32
+ JADIO CODE is a fully offline, 100% Python IDE designed to connect to the **JADIO** LAN server.
33
+
34
+ It's your own local development environment with:
35
+ - Integrated agent assistant (**Code.AIGent**)
36
+ - Native Python GUI (using **PyQt6**)
37
+ - Tools for interacting with local AI models
38
+ - Modular design for extensions and plugins
39
+
40
+ Everything is designed to be fully *yours*, *offline*, and *locally controlled*.
41
+
42
+ ---
43
+
44
+ ## ✅ Goals (v0.0.1)
45
+
46
+ ⭐ Native desktop IDE in **Python**
47
+ ⭐ Built with **PyQt6** (no web stack)
48
+ ⭐ Modular UI panels
49
+ ⭐ Clean separation of UI and backend logic
50
+ ⭐ Ready to connect with JADIO LAN server over localhost
51
+ ⭐ Ability to integrate with local AI models
52
+
53
+ ---
54
+
55
+ ## ✅ Current Features (0.0.1)
56
+
57
+ ✔️ Modular UI structure with PyQt6
58
+ ✔️ Defined layout for all major panels
59
+ ✔️ Placeholder classes for:
60
+ - Chat agent interface
61
+ - Editor
62
+ - Terminal
63
+ - Project explorer
64
+ - Plugin manager
65
+ - Settings
66
+ ✔️ Clean separation of:
67
+ - UI code
68
+ - Backend logic
69
+
70
+ ---
71
+
72
+ ## ✅ Folder Structure
73
+
74
+ JADIO-CODE/
75
+ ├── UI/
76
+ │ ├── mainwindows/
77
+ │ └── submodules/
78
+
79
+ └── Backend/
80
+
81
+ yaml
82
+ Copy
83
+ Edit
84
+
85
+ ---
86
+
87
+ ### ✅ UI/
88
+
89
+ ⭐ **Purpose:** All PyQt6 window and widget classes.
90
+ ⭐ **Design:**
91
+ - Panels and views
92
+ - Modular layout for easy extension
93
+
94
+ **Example subfolders:**
95
+ UI/
96
+ mainwindows/
97
+ code_aigent/
98
+ editor/
99
+ explorer/
100
+ terminal/
101
+ submodules/
102
+ code_doctor/
103
+ help/
104
+ jdonet/
105
+ llm/
106
+ plugins/
107
+ settings/
108
+
109
+ yaml
110
+ Copy
111
+ Edit
112
+
113
+ ✅ Each panel has its own folder and PyQt6 classes.
114
+ ✅ Supports split views, tabs, sidebars, and terminal.
115
+
116
+ ---
117
+
118
+ ### ✅ Backend/
119
+
120
+ ⭐ **Purpose:** All non-UI logic.
121
+ ⭐ **Design:**
122
+ - State management
123
+ - LAN server API calls
124
+ - Business rules
125
+
126
+ **Example subfolders:**
127
+ Backend/
128
+ code_aigent/
129
+ code_doctor/
130
+ editor/
131
+ explorer/
132
+ help/
133
+ jdonet/
134
+ lan/
135
+ llm/
136
+ plugins/
137
+ settings/
138
+ terminal/
139
+
140
+ yaml
141
+ Copy
142
+ Edit
143
+
144
+ ✅ Each submodule has its own `*_core.py`.
145
+ ✅ Supports clean separation from UI.
146
+ ✅ Easy to test independently.
147
+
148
+ ---
149
+
150
+ ## ✅ Design Philosophy
151
+
152
+ ✔️ 100% Python (PyQt6)
153
+ ✔️ No HTML, CSS, or JavaScript
154
+ ✔️ Local-first, offline-only by default
155
+ ✔️ Modular and pluggable architecture
156
+ ✔️ Clear separation of UI and backend
157
+ ✔️ Ready to integrate with JADIO LAN server (localhost)
158
+ ✔️ Ready to run external tools (Rust/Go/Haskell/etc.) via subprocess
159
+
160
+ ---
161
+
162
+ ## ✅ Planned Features
163
+
164
+ ✅ Persistent agent chat (Code.AIGent)
165
+ ✅ Simworld time integration
166
+ ✅ Local model management
167
+ ✅ Project explorer with file actions
168
+ ✅ Terminal runner for JADIO CLI tools
169
+ ✅ Memory viewer for agent files
170
+ ✅ Plugin system for extra tools
171
+ ✅ Localhost email/messaging panels
172
+
173
+ ---
174
+
175
+ ## ✅ Installation (dev)
176
+
177
+ pip install PyQt6
178
+
179
+ yaml
180
+ Copy
181
+ Edit
182
+
183
+ ✅ Requires Python 3.10+ recommended.
184
+
185
+ ---
186
+
187
+ ## ✅ Running (dev)
188
+
189
+ Example:
190
+ ```bash
191
+ python -m UI.mainwindows.MainWindow
192
+ ✅ Note: v0.0.1 is a work in progress, many panels are skeletons or placeholders.
193
+
194
+ ✅ Roadmap
195
+ ✔️ v0.0.1: Define layout and module structure ✅ (done)
196
+ ⬜ v0.0.2: Implement MainWindow navigation
197
+ ⬜ v0.0.3: Add LAN server connection
198
+ ⬜ v0.0.4: Wire up basic agent chat
199
+ ⬜ v0.0.5: Add editor and terminal functionality
200
+ ⬜ v0.1.0: First installable offline build
201
+
@@ -0,0 +1,108 @@
1
+ jadio_code/__init__.py,sha256=icTazf5_C9pwUcD5etjRdv5keg6SSAP2S0qJ-yXbpew,39
2
+ jadio_code/Backend/main/code_aigent/aigent_bottombox_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ jadio_code/Backend/main/code_aigent/aigent_chatwindow_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ jadio_code/Backend/main/code_aigent/aigent_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ jadio_code/Backend/main/code_aigent/aigent_sidebar_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ jadio_code/Backend/main/code_aigent/aigent_terminal_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ jadio_code/Backend/main/code_aigent/aigent_topbox_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
+ jadio_code/Backend/main/editor/editor_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ jadio_code/Backend/main/explorer/exploer_sidebar_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ jadio_code/Backend/main/explorer/explorer_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ jadio_code/Backend/main/terminal/terminal_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
+ jadio_code/Backend/sub/code_doctor/code_doctor_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
+ jadio_code/Backend/sub/help/help_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
+ jadio_code/Backend/sub/lan/lan_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
+ jadio_code/Backend/sub/llm/llm_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
+ jadio_code/Backend/sub/plugins/plugins_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
+ jadio_code/Backend/sub/settings/settings_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
+ jadio_code/UI/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
+ jadio_code/UI/main.py,sha256=HB73AswvodwlX9iQOo-jJP2C9y-ntkprnUNm8K4hpMk,3848
20
+ jadio_code/UI/menubar.py,sha256=4sMVwMkM2tYre9zRGjR4H6Vpzytp2r6z1_bcJLbs0SE,3479
21
+ jadio_code/UI/styles.py,sha256=iPLzRSFCMcjH43de1g-b2dK3AjZEca8ICxbHlCFt3f8,9987
22
+ jadio_code/UI/icons/bell.svg,sha256=M9-g1H6kY3OjOCFdkdc8W8AmJ6F0fmN5HbCeardXK7k,264
23
+ jadio_code/UI/icons/bolt.svg,sha256=LaNBj6rIflztLHn3R3jOyZI1ETw_8VXEXllzUSNd95g,243
24
+ jadio_code/UI/icons/check.svg,sha256=w1Jigo8VSdBHXQifdb7FbjKusiUXq1pG2Z5z5r125y0,234
25
+ jadio_code/UI/icons/clipboard.svg,sha256=Trp9iJxXn6eo8p96vOH3L-pi44bC1go0oWS4AjX6WRw,303
26
+ jadio_code/UI/icons/clock.svg,sha256=eIwp_5xRrm5hnhbhqUGKTc8_i-esmuHch6QN1keiEhE,349
27
+ jadio_code/UI/icons/cloud.svg,sha256=Yqmly3sfyZOxUAHXVjFPKsLMbnC_1fOeUyHwW9Pgzek,224
28
+ jadio_code/UI/icons/down.svg,sha256=PrEPTGRt8aZyevdCb8G17YoqCZrzgtp4n7fm6g-XW9o,246
29
+ jadio_code/UI/icons/download.svg,sha256=N6eMRLgY72Vbf6iu2r9EUPyWEEQY8zuyXuBXGy50J34,404
30
+ jadio_code/UI/icons/explorer.svg,sha256=m5OapBTtbWvowhGq9ThYfo6CL0NqZIlTUV_LSm9WH4o,318
31
+ jadio_code/UI/icons/eye.svg,sha256=hVo0Qf71IU7POhHXDTC9sXMr0_9brnG67qAHFmBxvGE,256
32
+ jadio_code/UI/icons/folder.svg,sha256=8ruuI47BC0VWsflSNfMtaRKgjsn-kWj4W9kCZtHH2eY,193
33
+ jadio_code/UI/icons/folder2.svg,sha256=s-_9dW7muKZb78fea_NDpW5flPVD0qaGybVPIW3jQbA,343
34
+ jadio_code/UI/icons/glass.svg,sha256=D1PbCi9gkbOyA6VRz1OWfq6m99bahQTFDGSQ97zQ0c4,293
35
+ jadio_code/UI/icons/globe.svg,sha256=KEkNUXVjwzpMs7sjohvK13jarg7MiYGtzzU7U_z86hE,367
36
+ jadio_code/UI/icons/grid.svg,sha256=FB0_k6ijSxYOpSG1Kjk3MvmgzYwJUlE47Vo1aWdbvpI,359
37
+ jadio_code/UI/icons/idk.svg,sha256=As85dGT7NtOhv4xh9VfycRUqlPU3YOwscHLqQqp0_3o,387
38
+ jadio_code/UI/icons/info.svg,sha256=aki8aUb2SihN8ySIU3epfFvzDGjQd-vDxE6ixkekfIE,324
39
+ jadio_code/UI/icons/left.svg,sha256=TijGPNlYHZ2WzsMgSksEXpani2fE37MjMdZz09vLivg,246
40
+ jadio_code/UI/icons/lock.svg,sha256=wbWahLDeNQD1P6liqs0b2VTfzha_onPQW0ENZA_1aYU,338
41
+ jadio_code/UI/icons/lock2.svg,sha256=rxUi06g6DyBPbdtZSLx0NIOVcTWIYvKe3kiGeZrKxrI,373
42
+ jadio_code/UI/icons/message.svg,sha256=XXUAsp2bpqlkkRqIGoN6PmRKtSJuaixGN4IfPtyCwYk,288
43
+ jadio_code/UI/icons/net.svg,sha256=NgbFER_rgnCscfuYtAimwBL2MvhDDAQ9d_04DLXU48Y,715
44
+ jadio_code/UI/icons/pencil.svg,sha256=0-IEsKc-0zQh65jW3qBYJxh7_KqpAfMPPInNa3a_Oaw,286
45
+ jadio_code/UI/icons/play.svg,sha256=daIsI6OSfPZohQAwbUHBKqVpAvzw_tgj5k0Tj0lY6pI,252
46
+ jadio_code/UI/icons/plus.svg,sha256=XfBiw3KHIa7nrjs6SSe4C5zLq6meVue9NCMA8P4WDFY,561
47
+ jadio_code/UI/icons/right.svg,sha256=1AsSDd2Ro4ctNz85WcMeFP0uaFWRs8WXRkcIuXKUngE,246
48
+ jadio_code/UI/icons/robot.svg,sha256=wix_U5bWr10-DLiqzy-sTmKDqmm8IUFxLeek0Ms9yi4,395
49
+ jadio_code/UI/icons/split.svg,sha256=3ilTIa07_YniEm5jm_M4NQaSp1n2gFy8WqzwwjaLc0o,280
50
+ jadio_code/UI/icons/star.svg,sha256=6cDCHUmVHYna82an6e0eDt-NHMp6kKVYxBzS2enjMhE,220
51
+ jadio_code/UI/icons/stop.svg,sha256=oH--y9XmLDMXnW5iR1QoF1MV0HwY9olbh5S62Ubx3K4,273
52
+ jadio_code/UI/icons/tabs.svg,sha256=yOilBPZAXgdxjkG5QD1DZwVg0sIPqFhQZ8R0wiH54bY,366
53
+ jadio_code/UI/icons/terminal.svg,sha256=VWVGgQk05hbx8gj7v7NpiBYuOlAR1emgUwI7yWZakAQ,404
54
+ jadio_code/UI/icons/up.svg,sha256=dGqKFWKcjIWN6Oj_tNBHaw9sLRCWC5mprT6la7bQQVk,246
55
+ jadio_code/UI/icons/upload.svg,sha256=toEDFMITbikctxUvEZ3p2K_czwSGLYc65vJ7QCuMsKM,404
56
+ jadio_code/UI/icons/user.svg,sha256=LMhNmU0EFs9N0RkK6IUP1poswdq6Dw2h4oGLwQVPKFM,284
57
+ jadio_code/UI/icons/warning.svg,sha256=RWbuR7AVs_7ChOnF7Q3my_vv7km62aNvbhQPxyjFCjM,376
58
+ jadio_code/UI/icons/x.svg,sha256=i2QlA3fzM7NDwAO_0d3VMOrn4BvEQYY0gSDCc5_k_WY,309
59
+ jadio_code/UI/mainwindows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
+ jadio_code/UI/mainwindows/code_aigent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
+ jadio_code/UI/mainwindows/code_aigent/aigent_controller.py,sha256=Eln4WEmoy-qdIxV035al0KqwibOS9beMptzml9t8moA,4362
62
+ jadio_code/UI/mainwindows/code_aigent/aigent_menu.py,sha256=n1S4OKBjKaRlccd9Bl58Cpn79kL1TzFRj0f_s3LMM9A,2925
63
+ jadio_code/UI/mainwindows/code_aigent/aigent_sidebar.py,sha256=t6FlrUQ1hqmGdCRKGwzHXkroLoxZAJqV-vkyXDsyxaA,1814
64
+ jadio_code/UI/mainwindows/code_aigent/aigentvision.md,sha256=XUj_5XVL7jX5cA0XIddKvAiO3iJ88s6CO8PUAgFgfm8,6314
65
+ jadio_code/UI/mainwindows/code_aigent/bottombox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
+ jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_chat.py,sha256=R7hNCvIx4utsiqhK5tiO0G--aAomaMNuScySBlXH_XI,307
67
+ jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_context.py,sha256=tJ0l941YZ-Zm0XLD0RhXQNxvsaKgxf9JQP1lCewaxWk,313
68
+ jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_controller.py,sha256=tX5falsV6IQCyKbtddaAOr_KTVUJHuUgjauQUc1bBVY,6064
69
+ jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_settings.py,sha256=D4Bx2dx1gCT2c8Iu0NmcCtEpB0Irt1nedfTwjZ23Hew,315
70
+ jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_terminal.py,sha256=q6M7maCtS-g5i997j7erzzviwtQ0umqqkyBzRApzRwA,414
71
+ jadio_code/UI/mainwindows/code_aigent/chatwindow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
+ jadio_code/UI/mainwindows/code_aigent/chatwindow/aigent_chat_controller.py,sha256=5WABgtBmsxadJGvhWXo6X5APpCGOgkIG2PsN2CvEYXU,880
73
+ jadio_code/UI/mainwindows/code_aigent/chatwindow/aigent_summary.py,sha256=lNee9NpBpoTynY-jYHHSuNe84S1B72ZCrH4oyNKqFlc,320
74
+ jadio_code/UI/mainwindows/code_aigent/topbox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
+ jadio_code/UI/mainwindows/code_aigent/topbox/topbox_context.py,sha256=vxwOW0CDtVHnvv54oV0WVpgR3vpMN23Lwvwi-k5DoP4,306
76
+ jadio_code/UI/mainwindows/code_aigent/topbox/topbox_controller.py,sha256=2tt_C95b_R9vMKE_BkEjlUQV5UMY1CzWj7pHQDTN-PA,3045
77
+ jadio_code/UI/mainwindows/code_aigent/topbox/topbox_lan.py,sha256=mVEaAngCLVnBX16PgzUYzLLomz84mTarOKOhsATM0pw,302
78
+ jadio_code/UI/mainwindows/code_aigent/topbox/topbox_modelsettings.py,sha256=7lrdwnZvyMg1JnSP4WIwJEoT6MCRcY4k9enegsR_wJQ,317
79
+ jadio_code/UI/mainwindows/code_aigent/topbox/topbox_tools.py,sha256=XvOlA6MgVMj8Y_x8_O2LMf4uXc3roynlS72o16-fLcg,303
80
+ jadio_code/UI/mainwindows/editor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
+ jadio_code/UI/mainwindows/editor/editor_code.py,sha256=R2CL3hinFz4mBhZFM72HrxhJe2gFWXeqvG8UUXHoHB8,476
82
+ jadio_code/UI/mainwindows/editor/editor_controller.py,sha256=_6I9lG-iwsGsORtez6t-hkcE413kfPVhbBOq9cNtkLw,882
83
+ jadio_code/UI/mainwindows/editor/editor_tabs.py,sha256=0JNYSwcRL8ysH_sIJZsUHsx5dzIovQJaXVLyTcd4q8s,439
84
+ jadio_code/UI/mainwindows/editor/editor_topmenu.py,sha256=xzccOuZtSjbAdgF9BWHS7gvKcHdKMadccT37LawBHJQ,884
85
+ jadio_code/UI/mainwindows/explorer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
86
+ jadio_code/UI/mainwindows/explorer/explorer_controller.py,sha256=0ochRPQDDpKlu26u02k9vLoe0bfuTrWMf2-xEfs9OWY,2337
87
+ jadio_code/UI/mainwindows/explorer/explorer_menu.py,sha256=-yMMrZXfdGrUzrA4OyrwhcsHGTMyXIHRZukTKXDvRBk,2810
88
+ jadio_code/UI/mainwindows/explorer/explorer_sidebar.py,sha256=dyKee_mHQKRaweetN4ZyevwRRW5Yc4ZD48TR7r1eaYw,1726
89
+ jadio_code/UI/mainwindows/terminal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
+ jadio_code/UI/mainwindows/terminal/terminal_controller.py,sha256=zw_ZvQjFrzlDwGbftyOgVVFYZXWDp2LEQx9aKlb2FW8,2268
91
+ jadio_code/UI/mainwindows/terminal/terminal_menu.py,sha256=C11n4QQzHoA4UO0dhx-ECzFHYn69nH_GbEELrPycA7I,943
92
+ jadio_code/UI/mainwindows/terminal/terminal_shells.py,sha256=crEqPpC06ouvs9L2hPrdm0DbWrAwPV-LJPtprSMroKU,546
93
+ jadio_code/UI/mainwindows/terminal/terminal_window.py,sha256=ruaIjPNp5KwQbGdjp7gxdHlNVfxw7VoWf--68X6v2cQ,474
94
+ jadio_code/UI/submodules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
+ jadio_code/UI/submodules/help/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
96
+ jadio_code/UI/submodules/help/help_backend.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
+ jadio_code/UI/submodules/help/help_window.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
+ jadio_code/UI/submodules/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
+ jadio_code/UI/submodules/llm/llm_backend.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
+ jadio_code/UI/submodules/llm/llm_window.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
+ jadio_code/UI/submodules/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
+ jadio_code/UI/submodules/settings/settings_backend.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
+ jadio_code/UI/submodules/settings/settings_window.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
+ jadio_code-0.0.1.dist-info/METADATA,sha256=dj8pHDWuqNuAtZjpnB9FcQS2uvHnNbRL2cK-R7BIaLg,4162
105
+ jadio_code-0.0.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
106
+ jadio_code-0.0.1.dist-info/entry_points.txt,sha256=3akW_XwIsitp1G_48Y98MkjLVsCZAoyXePWW8NoMKjE,51
107
+ jadio_code-0.0.1.dist-info/licenses/license.md,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
108
+ jadio_code-0.0.1.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.27.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ jadio = jadio_code.cli.main:main
File without changes