socratic-debug 0.0.1__tar.gz → 0.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. {socratic_debug-0.0.1/socratic_debug.egg-info → socratic_debug-0.0.2}/PKG-INFO +1 -1
  2. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/pyproject.toml +1 -1
  3. {socratic_debug-0.0.1 → socratic_debug-0.0.2/socratic_debug.egg-info}/PKG-INFO +1 -1
  4. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/ui/app.py +40 -15
  5. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/LICENSE +0 -0
  6. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/README.md +0 -0
  7. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/setup.cfg +0 -0
  8. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/socratic.py +0 -0
  9. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/socratic_debug.egg-info/SOURCES.txt +0 -0
  10. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/socratic_debug.egg-info/dependency_links.txt +0 -0
  11. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/socratic_debug.egg-info/entry_points.txt +0 -0
  12. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/socratic_debug.egg-info/requires.txt +0 -0
  13. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/socratic_debug.egg-info/top_level.txt +0 -0
  14. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/__init__.py +0 -0
  15. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/agent/graph/graph.py +0 -0
  16. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/agent/llm/factory.py +0 -0
  17. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/agent/llm/providers/__init__.py +0 -0
  18. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/agent/llm/providers/ollama.py +0 -0
  19. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/agent/llm/providers/openrouter.py +0 -0
  20. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/agent/nodes/diagnose_node.py +0 -0
  21. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/agent/nodes/evaluate_node.py +0 -0
  22. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/agent/nodes/human_input_node.py +0 -0
  23. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/agent/nodes/questioner_node.py +0 -0
  24. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/agent/nodes/solution_node.py +0 -0
  25. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/agent/prompts/diagnose_prompt.py +0 -0
  26. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/agent/prompts/evaluation_prompt.py +0 -0
  27. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/agent/prompts/mentor_prompt.py +0 -0
  28. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/agent/prompts/questioner_prompt.py +0 -0
  29. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/agent/prompts/solution_prompt.py +0 -0
  30. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/agent/runner.py +0 -0
  31. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/agent/state/state.py +0 -0
  32. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/cli.py +0 -0
  33. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/config_creator.py +0 -0
  34. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/config_template.py +0 -0
  35. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/extractor.py +0 -0
  36. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/hook.py +0 -0
  37. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/src/utils/read_yaml.py +0 -0
  38. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/test/test_hock.py +0 -0
  39. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/ui/__init__.py +0 -0
  40. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/ui/bidi.py +0 -0
  41. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/ui/console.py +0 -0
  42. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/ui/styles.py +0 -0
  43. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/ui/templates.py +0 -0
  44. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/ui/translations.py +0 -0
  45. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/ui/views.py +0 -0
  46. {socratic_debug-0.0.1 → socratic_debug-0.0.2}/ui/window.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: socratic-debug
3
- Version: 0.0.1
3
+ Version: 0.0.2
4
4
  Summary: Autonomous pedagogical debugging mentor powered by LangGraph, Rich, and LangSmith
5
5
  Author: Mohamed Elawakey
6
6
  Requires-Python: >=3.10
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "socratic-debug"
7
- version = "0.0.1"
7
+ version = "0.0.2"
8
8
  description = "Autonomous pedagogical debugging mentor powered by LangGraph, Rich, and LangSmith"
9
9
  authors = [{ name = "Mohamed Elawakey" }]
10
10
  readme = "README.md"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: socratic-debug
3
- Version: 0.0.1
3
+ Version: 0.0.2
4
4
  Summary: Autonomous pedagogical debugging mentor powered by LangGraph, Rich, and LangSmith
5
5
  Author: Mohamed Elawakey
6
6
  Requires-Python: >=3.10
@@ -1,11 +1,45 @@
1
1
  import sys
2
2
  import threading
3
- from PyQt6.QtWidgets import (
4
- QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout,
5
- QTextEdit, QLineEdit, QPushButton, QLabel, QFrame
6
- )
7
- from PyQt6.QtCore import Qt, pyqtSignal, QObject
8
- from PyQt6.QtGui import QTextCursor
3
+
4
+ try:
5
+ from PyQt6.QtWidgets import (
6
+ QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout,
7
+ QTextEdit, QLineEdit, QPushButton, QLabel, QFrame
8
+ )
9
+ from PyQt6.QtCore import Qt, pyqtSignal, QObject
10
+ from PyQt6.QtGui import QTextCursor
11
+
12
+ HAS_PYQT = True
13
+
14
+ class UIBridge(QObject):
15
+ """Bridge to pass messages from background agent threads to the Qt GUI thread."""
16
+ mentor_message_received = pyqtSignal(str, int)
17
+ user_input_requested = pyqtSignal()
18
+ solution_received = pyqtSignal(str)
19
+ evaluator_verdict_received = pyqtSignal(str)
20
+
21
+ bridge = UIBridge()
22
+
23
+ except (ImportError, OSError):
24
+ HAS_PYQT = False
25
+ QMainWindow = object
26
+ QApplication = None
27
+ Qt = None
28
+
29
+ class MockSignal:
30
+ def emit(self, *args, **kwargs):
31
+ pass
32
+
33
+ def connect(self, *args, **kwargs):
34
+ pass
35
+
36
+ class DummyBridge:
37
+ mentor_message_received = MockSignal()
38
+ user_input_requested = MockSignal()
39
+ solution_received = MockSignal()
40
+ evaluator_verdict_received = MockSignal()
41
+
42
+ bridge = DummyBridge()
9
43
 
10
44
  from src.utils.read_yaml import ReadYaml
11
45
  from ui.translations import TRANSLATIONS
@@ -13,15 +47,6 @@ from ui.styles import SOCRATIC_DARK_THEME
13
47
  from ui.templates import ChatTemplates
14
48
 
15
49
 
16
- class UIBridge(QObject):
17
- """Bridge to pass messages from background agent threads to the Qt GUI thread."""
18
- mentor_message_received = pyqtSignal(str, int)
19
- user_input_requested = pyqtSignal()
20
- solution_received = pyqtSignal(str)
21
- evaluator_verdict_received = pyqtSignal(str)
22
-
23
-
24
- bridge = UIBridge()
25
50
  _user_reply_event = threading.Event()
26
51
  _user_reply_text = ""
27
52
 
File without changes
File without changes
File without changes