todo-agent 0.3.2__py3-none-any.whl → 0.3.5__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.
- todo_agent/_version.py +2 -2
- todo_agent/core/exceptions.py +6 -6
- todo_agent/core/todo_manager.py +315 -182
- todo_agent/infrastructure/inference.py +120 -52
- todo_agent/infrastructure/llm_client.py +56 -22
- todo_agent/infrastructure/ollama_client.py +23 -13
- todo_agent/infrastructure/openrouter_client.py +20 -12
- todo_agent/infrastructure/prompts/system_prompt.txt +190 -438
- todo_agent/infrastructure/todo_shell.py +94 -11
- todo_agent/interface/cli.py +51 -33
- todo_agent/interface/formatters.py +7 -4
- todo_agent/interface/progress.py +30 -19
- todo_agent/interface/tools.py +73 -30
- todo_agent/main.py +17 -1
- {todo_agent-0.3.2.dist-info → todo_agent-0.3.5.dist-info}/METADATA +1 -1
- todo_agent-0.3.5.dist-info/RECORD +30 -0
- todo_agent-0.3.2.dist-info/RECORD +0 -30
- {todo_agent-0.3.2.dist-info → todo_agent-0.3.5.dist-info}/WHEEL +0 -0
- {todo_agent-0.3.2.dist-info → todo_agent-0.3.5.dist-info}/entry_points.txt +0 -0
- {todo_agent-0.3.2.dist-info → todo_agent-0.3.5.dist-info}/licenses/LICENSE +0 -0
- {todo_agent-0.3.2.dist-info → todo_agent-0.3.5.dist-info}/top_level.txt +0 -0
todo_agent/_version.py
CHANGED
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
28
28
|
commit_id: COMMIT_ID
|
29
29
|
__commit_id__: COMMIT_ID
|
30
30
|
|
31
|
-
__version__ = version = '0.3.
|
32
|
-
__version_tuple__ = version_tuple = (0, 3,
|
31
|
+
__version__ = version = '0.3.5'
|
32
|
+
__version_tuple__ = version_tuple = (0, 3, 5)
|
33
33
|
|
34
34
|
__commit_id__ = commit_id = None
|
todo_agent/core/exceptions.py
CHANGED
@@ -35,7 +35,7 @@ class TodoShellError(TodoError):
|
|
35
35
|
|
36
36
|
class ProviderError(Exception):
|
37
37
|
"""Base exception for LLM provider errors."""
|
38
|
-
|
38
|
+
|
39
39
|
def __init__(self, message: str, error_type: str, provider: str):
|
40
40
|
super().__init__(message)
|
41
41
|
self.message = message
|
@@ -45,34 +45,34 @@ class ProviderError(Exception):
|
|
45
45
|
|
46
46
|
class MalformedResponseError(ProviderError):
|
47
47
|
"""Provider returned malformed or invalid response."""
|
48
|
-
|
48
|
+
|
49
49
|
def __init__(self, message: str, provider: str):
|
50
50
|
super().__init__(message, "malformed_response", provider)
|
51
51
|
|
52
52
|
|
53
53
|
class RateLimitError(ProviderError):
|
54
54
|
"""Provider rate limit exceeded."""
|
55
|
-
|
55
|
+
|
56
56
|
def __init__(self, message: str, provider: str):
|
57
57
|
super().__init__(message, "rate_limit", provider)
|
58
58
|
|
59
59
|
|
60
60
|
class AuthenticationError(ProviderError):
|
61
61
|
"""Provider authentication failed."""
|
62
|
-
|
62
|
+
|
63
63
|
def __init__(self, message: str, provider: str):
|
64
64
|
super().__init__(message, "auth_error", provider)
|
65
65
|
|
66
66
|
|
67
67
|
class TimeoutError(ProviderError):
|
68
68
|
"""Provider request timed out."""
|
69
|
-
|
69
|
+
|
70
70
|
def __init__(self, message: str, provider: str):
|
71
71
|
super().__init__(message, "timeout", provider)
|
72
72
|
|
73
73
|
|
74
74
|
class GeneralProviderError(ProviderError):
|
75
75
|
"""General provider error."""
|
76
|
-
|
76
|
+
|
77
77
|
def __init__(self, message: str, provider: str):
|
78
78
|
super().__init__(message, "general_error", provider)
|