sugarai 3.4.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 (81) hide show
  1. sugar/__init__.py +0 -0
  2. sugar/__version__.py +72 -0
  3. sugar/agent/__init__.py +26 -0
  4. sugar/agent/base.py +661 -0
  5. sugar/agent/hooks.py +455 -0
  6. sugar/agent/subagent_manager.py +329 -0
  7. sugar/agent/tools.py +238 -0
  8. sugar/billing/__init__.py +24 -0
  9. sugar/billing/api_keys.py +369 -0
  10. sugar/billing/tiers.py +318 -0
  11. sugar/billing/usage.py +295 -0
  12. sugar/config/__init__.py +6 -0
  13. sugar/config/issue_responder_config.py +143 -0
  14. sugar/config/prompt_config.py +135 -0
  15. sugar/core/__init__.py +0 -0
  16. sugar/core/loop.py +1234 -0
  17. sugar/discovery/__init__.py +0 -0
  18. sugar/discovery/code_quality.py +466 -0
  19. sugar/discovery/error_monitor.py +442 -0
  20. sugar/discovery/github_watcher.py +911 -0
  21. sugar/discovery/test_coverage.py +546 -0
  22. sugar/executor/__init__.py +21 -0
  23. sugar/executor/agent_sdk_executor.py +770 -0
  24. sugar/executor/base.py +139 -0
  25. sugar/executor/claude_wrapper.py +1075 -0
  26. sugar/executor/hooks.py +177 -0
  27. sugar/executor/structured_request.py +739 -0
  28. sugar/executor/thinking_display.py +286 -0
  29. sugar/integrations/__init__.py +14 -0
  30. sugar/integrations/github.py +423 -0
  31. sugar/learning/__init__.py +13 -0
  32. sugar/learning/adaptive_scheduler.py +175 -0
  33. sugar/learning/feedback_processor.py +575 -0
  34. sugar/learning/learnings_writer.py +336 -0
  35. sugar/main.py +3842 -0
  36. sugar/mcp/__init__.py +34 -0
  37. sugar/mcp/server.py +476 -0
  38. sugar/orchestration/__init__.py +31 -0
  39. sugar/orchestration/agent_router.py +238 -0
  40. sugar/orchestration/model_router.py +362 -0
  41. sugar/orchestration/task_orchestrator.py +953 -0
  42. sugar/profiles/__init__.py +19 -0
  43. sugar/profiles/base.py +119 -0
  44. sugar/profiles/default.py +129 -0
  45. sugar/profiles/issue_responder.py +431 -0
  46. sugar/quality_gates/__init__.py +86 -0
  47. sugar/quality_gates/coordinator.py +370 -0
  48. sugar/quality_gates/criteria_templates.py +382 -0
  49. sugar/quality_gates/diff_validator.py +298 -0
  50. sugar/quality_gates/evidence.py +294 -0
  51. sugar/quality_gates/failure_handler.py +345 -0
  52. sugar/quality_gates/functional_verifier.py +413 -0
  53. sugar/quality_gates/preflight_checks.py +394 -0
  54. sugar/quality_gates/success_criteria.py +507 -0
  55. sugar/quality_gates/test_validator.py +349 -0
  56. sugar/quality_gates/truth_enforcer.py +329 -0
  57. sugar/quality_gates/verification_gate.py +497 -0
  58. sugar/ralph/__init__.py +40 -0
  59. sugar/ralph/config.py +75 -0
  60. sugar/ralph/profile.py +365 -0
  61. sugar/ralph/signals.py +333 -0
  62. sugar/ralph/validator.py +366 -0
  63. sugar/storage/__init__.py +5 -0
  64. sugar/storage/issue_response_manager.py +258 -0
  65. sugar/storage/task_type_manager.py +1274 -0
  66. sugar/storage/work_queue.py +1079 -0
  67. sugar/triage/__init__.py +43 -0
  68. sugar/triage/capability_scanner.py +752 -0
  69. sugar/triage/complexity_analyzer.py +739 -0
  70. sugar/triage/triage_analyzer.py +440 -0
  71. sugar/utils/__init__.py +0 -0
  72. sugar/utils/git_operations.py +217 -0
  73. sugar/utils/toon_encoder.py +159 -0
  74. sugar/workflow/__init__.py +3 -0
  75. sugar/workflow/orchestrator.py +444 -0
  76. sugarai-3.4.4.dist-info/METADATA +439 -0
  77. sugarai-3.4.4.dist-info/RECORD +81 -0
  78. sugarai-3.4.4.dist-info/WHEEL +5 -0
  79. sugarai-3.4.4.dist-info/entry_points.txt +2 -0
  80. sugarai-3.4.4.dist-info/licenses/LICENSE +92 -0
  81. sugarai-3.4.4.dist-info/top_level.txt +1 -0
sugar/__init__.py ADDED
File without changes
sugar/__version__.py ADDED
@@ -0,0 +1,72 @@
1
+ """Version information for Sugar"""
2
+
3
+ import tomllib
4
+ from pathlib import Path
5
+
6
+ try:
7
+ from importlib.metadata import version as get_package_version
8
+ except ImportError:
9
+ from importlib_metadata import version as get_package_version
10
+
11
+
12
+ def _get_version() -> str:
13
+ """Get version from package metadata or pyproject.toml"""
14
+ try:
15
+ # First try to get version from installed package metadata
16
+ return get_package_version("sugarai")
17
+ except Exception:
18
+ pass
19
+
20
+ try:
21
+ # Fallback: read from pyproject.toml (for development)
22
+ pyproject_path = Path(__file__).parent.parent / "pyproject.toml"
23
+ with open(pyproject_path, "rb") as f:
24
+ pyproject = tomllib.load(f)
25
+ return pyproject["project"]["version"]
26
+ except (FileNotFoundError, KeyError, Exception):
27
+ # Final fallback version
28
+ return "3.0.0"
29
+
30
+
31
+ __version__ = _get_version()
32
+ __title__ = "Sugar ✨ 🍰 ✨ "
33
+ __description__ = "Autonomous development assistant"
34
+ __author__ = "Steven Leggett"
35
+ __author_email__ = "contact@roboticforce.io"
36
+ __url__ = "https://github.com/roboticforce/sugar"
37
+
38
+
39
+ def get_version_info() -> str:
40
+ """Get formatted version information"""
41
+ import sys
42
+
43
+ # Handle Windows encoding limitations
44
+ try:
45
+ # Try to encode with system encoding to verify it works
46
+ output = f"{__title__} {__description__} v{__version__}"
47
+ output.encode(sys.stdout.encoding or "utf-8")
48
+ return output
49
+ except (UnicodeEncodeError, AttributeError):
50
+ # Fallback for Windows terminals that can't handle emojis
51
+ return f"Sugar {__description__} v{__version__}"
52
+
53
+
54
+ def get_full_version_info() -> str:
55
+ """Get detailed version information"""
56
+ import sys
57
+
58
+ # Handle Windows encoding limitations
59
+ try:
60
+ title_line = f"{__title__} v{__version__}"
61
+ title_line.encode(sys.stdout.encoding or "utf-8")
62
+ title = __title__
63
+ except (UnicodeEncodeError, AttributeError):
64
+ title = "Sugar"
65
+
66
+ return f"""
67
+ {title} v{__version__}
68
+ {__description__}
69
+
70
+ Author: {__author__} <{__author_email__}>
71
+ Repository: {__url__}
72
+ """.strip()
@@ -0,0 +1,26 @@
1
+ """
2
+ Sugar Agent Module - Claude Agent SDK integration for Sugar 3.0
3
+
4
+ This module provides the native SDK-based agent execution layer,
5
+ replacing the subprocess-based ClaudeWrapper approach.
6
+ """
7
+
8
+ from .base import SugarAgent, SugarAgentConfig
9
+ from .hooks import (
10
+ QualityGateHooks,
11
+ create_preflight_hook,
12
+ create_audit_hook,
13
+ create_security_hook,
14
+ )
15
+ from .subagent_manager import SubAgentManager, SubAgentResult
16
+
17
+ __all__ = [
18
+ "SugarAgent",
19
+ "SugarAgentConfig",
20
+ "QualityGateHooks",
21
+ "create_preflight_hook",
22
+ "create_audit_hook",
23
+ "create_security_hook",
24
+ "SubAgentManager",
25
+ "SubAgentResult",
26
+ ]