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.
- sugar/__init__.py +0 -0
- sugar/__version__.py +72 -0
- sugar/agent/__init__.py +26 -0
- sugar/agent/base.py +661 -0
- sugar/agent/hooks.py +455 -0
- sugar/agent/subagent_manager.py +329 -0
- sugar/agent/tools.py +238 -0
- sugar/billing/__init__.py +24 -0
- sugar/billing/api_keys.py +369 -0
- sugar/billing/tiers.py +318 -0
- sugar/billing/usage.py +295 -0
- sugar/config/__init__.py +6 -0
- sugar/config/issue_responder_config.py +143 -0
- sugar/config/prompt_config.py +135 -0
- sugar/core/__init__.py +0 -0
- sugar/core/loop.py +1234 -0
- sugar/discovery/__init__.py +0 -0
- sugar/discovery/code_quality.py +466 -0
- sugar/discovery/error_monitor.py +442 -0
- sugar/discovery/github_watcher.py +911 -0
- sugar/discovery/test_coverage.py +546 -0
- sugar/executor/__init__.py +21 -0
- sugar/executor/agent_sdk_executor.py +770 -0
- sugar/executor/base.py +139 -0
- sugar/executor/claude_wrapper.py +1075 -0
- sugar/executor/hooks.py +177 -0
- sugar/executor/structured_request.py +739 -0
- sugar/executor/thinking_display.py +286 -0
- sugar/integrations/__init__.py +14 -0
- sugar/integrations/github.py +423 -0
- sugar/learning/__init__.py +13 -0
- sugar/learning/adaptive_scheduler.py +175 -0
- sugar/learning/feedback_processor.py +575 -0
- sugar/learning/learnings_writer.py +336 -0
- sugar/main.py +3842 -0
- sugar/mcp/__init__.py +34 -0
- sugar/mcp/server.py +476 -0
- sugar/orchestration/__init__.py +31 -0
- sugar/orchestration/agent_router.py +238 -0
- sugar/orchestration/model_router.py +362 -0
- sugar/orchestration/task_orchestrator.py +953 -0
- sugar/profiles/__init__.py +19 -0
- sugar/profiles/base.py +119 -0
- sugar/profiles/default.py +129 -0
- sugar/profiles/issue_responder.py +431 -0
- sugar/quality_gates/__init__.py +86 -0
- sugar/quality_gates/coordinator.py +370 -0
- sugar/quality_gates/criteria_templates.py +382 -0
- sugar/quality_gates/diff_validator.py +298 -0
- sugar/quality_gates/evidence.py +294 -0
- sugar/quality_gates/failure_handler.py +345 -0
- sugar/quality_gates/functional_verifier.py +413 -0
- sugar/quality_gates/preflight_checks.py +394 -0
- sugar/quality_gates/success_criteria.py +507 -0
- sugar/quality_gates/test_validator.py +349 -0
- sugar/quality_gates/truth_enforcer.py +329 -0
- sugar/quality_gates/verification_gate.py +497 -0
- sugar/ralph/__init__.py +40 -0
- sugar/ralph/config.py +75 -0
- sugar/ralph/profile.py +365 -0
- sugar/ralph/signals.py +333 -0
- sugar/ralph/validator.py +366 -0
- sugar/storage/__init__.py +5 -0
- sugar/storage/issue_response_manager.py +258 -0
- sugar/storage/task_type_manager.py +1274 -0
- sugar/storage/work_queue.py +1079 -0
- sugar/triage/__init__.py +43 -0
- sugar/triage/capability_scanner.py +752 -0
- sugar/triage/complexity_analyzer.py +739 -0
- sugar/triage/triage_analyzer.py +440 -0
- sugar/utils/__init__.py +0 -0
- sugar/utils/git_operations.py +217 -0
- sugar/utils/toon_encoder.py +159 -0
- sugar/workflow/__init__.py +3 -0
- sugar/workflow/orchestrator.py +444 -0
- sugarai-3.4.4.dist-info/METADATA +439 -0
- sugarai-3.4.4.dist-info/RECORD +81 -0
- sugarai-3.4.4.dist-info/WHEEL +5 -0
- sugarai-3.4.4.dist-info/entry_points.txt +2 -0
- sugarai-3.4.4.dist-info/licenses/LICENSE +92 -0
- 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()
|
sugar/agent/__init__.py
ADDED
|
@@ -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
|
+
]
|