-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy path__init__.py
More file actions
113 lines (105 loc) · 2.86 KB
/
__init__.py
File metadata and controls
113 lines (105 loc) · 2.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
"""Code Assistant Manager - CLI utilities for working with AI coding assistants.
This package provides a unified interface for interacting with various AI coding
assistants including GitHub Copilot, Claude, Codex, Qwen, and more.
The codebase implements industry-standard design patterns including:
- Value Objects for validated primitives
- Factory Pattern for tool creation
- Strategy Pattern for pluggable algorithms
- Chain of Responsibility for validation
- Repository Pattern for data access
- Service Layer for business logic
See DESIGN_PATTERNS_README.md for detailed documentation.
"""
try:
import setuptools_scm
__version__ = setuptools_scm.get_version()
except (ImportError, LookupError):
__version__ = "1.4.0" # Fallback to hardcoded version
__author__ = "Code Assistant Manager Contributors"
from .config import ConfigManager
from .domain_models import (
EndpointConfig,
ExecutionContext,
ExecutionResult,
ProxySettings,
ToolMetadata,
)
from .endpoints import EndpointManager
from .exceptions import (
CacheError,
CodeAssistantManagerError,
ConfigurationError,
EndpointError,
MCPError,
ModelFetchError,
NetworkError,
SecurityError,
TimeoutError,
ToolExecutionError,
ToolInstallationError,
ValidationError,
create_error_handler,
)
from .factory import ServiceContainer, ToolFactory, get_container, register_tool
from .menu.base import Colors, FilterableMenu, Menu, SimpleMenu
# Legacy imports (for backward compatibility)
from .menu.menus import display_centered_menu, select_model
from .services import (
ConfigurationService,
ExecutionContextBuilder,
ModelService,
ToolInstallationService,
)
from .validators import ConfigValidator, ValidationPipeline
# New design pattern imports
from .value_objects import APIKey, ClientName, EndpointName, EndpointURL, ModelID
__all__ = [
# Legacy exports
"display_centered_menu",
"select_model",
"Menu",
"SimpleMenu",
"FilterableMenu",
"Colors",
"ConfigManager",
"EndpointManager",
# Value Objects
"EndpointURL",
"APIKey",
"ModelID",
"EndpointName",
"ClientName",
# Domain Models
"ProxySettings",
"EndpointConfig",
"ExecutionContext",
"ExecutionResult",
"ToolMetadata",
# Factory
"ToolFactory",
"ServiceContainer",
"register_tool",
"get_container",
# Services
"ConfigurationService",
"ModelService",
"ToolInstallationService",
"ExecutionContextBuilder",
# Validators
"ValidationPipeline",
"ConfigValidator",
# Exceptions
"CodeAssistantManagerError",
"ConfigurationError",
"ToolExecutionError",
"ToolInstallationError",
"EndpointError",
"ModelFetchError",
"ValidationError",
"SecurityError",
"NetworkError",
"TimeoutError",
"CacheError",
"MCPError",
"create_error_handler",
]