feat(agent): deprecate and completely remove cline agent support
- Delete adapters/cline.py and unregister from registry.py - Remove cline branches from lib.sh and all 8 skill scripts (create, resume, stop, status, reconcile, update_yaml_resumed, resolve_session_id, orc_onboard) - Narrow own-key mapping dictionaries across lib_py core modules to 4 supported agents - Delete cline-exclusive tests and retarget shared fixtures to grok/hermes/claude - Update skills documentation and installation guides (439 passed, 0 failures) - Archive cline deprecation consensus and review reports
This commit is contained in:
@@ -36,10 +36,10 @@ MAM은 에이전트별 동작 특성(TUI 프롬프트 패턴, 세션 복원 인
|
||||
│ │ • spawn_spec(), resume_spec(), auth_ok(), discover() │ │
|
||||
│ └────────────────────────────────────────────────────────────────┬─────────────────────────────────────────────────────────────────┘ │
|
||||
│ │ │
|
||||
│ ┌────────────────────┬───────────────────────────────┼───────────────────────────────┬─────────────────────┐ │
|
||||
│ ┌────────────────────┬───────────────────────────────┬───────────────────────────────┬─────────────────────┐ │
|
||||
│ ▼ ▼ ▼ ▼ ▼ │
|
||||
│ ClaudeAgentAdapter AgyAgentAdapter ClineAgentAdapter HermesAgentAdapter [NewAgentAdapter] │
|
||||
│ (Claude Code) (Antigravity) (Cline) (Hermes) (Grok / Codex / ...) │
|
||||
│ ClaudeAgentAdapter AgyAgentAdapter HermesAgentAdapter GrokAgentAdapter [NewAgentAdapter] │
|
||||
│ (Claude Code) (Antigravity) (Hermes) (Grok) (Codex / ...) │
|
||||
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
@@ -186,7 +186,6 @@ _ADAPTERS: Dict[str, BaseAgentAdapter] = {
|
||||
'claude': ClaudeAgentAdapter(),
|
||||
'agy': AgyAgentAdapter(),
|
||||
'hermes': HermesAgentAdapter(),
|
||||
'cline': ClineAgentAdapter(),
|
||||
'grok': GrokAgentAdapter(), # 👈 추가
|
||||
}
|
||||
```
|
||||
@@ -209,13 +208,11 @@ case "$name" in
|
||||
*-creator-claude|*-planner-claude|*-reviewer-claude) kind="claude" ;;
|
||||
*-creator-agy|*-planner-agy|*-reviewer-agy) kind="agy" ;;
|
||||
*-creator-hermes|*-planner-hermes|*-reviewer-hermes) kind="hermes" ;;
|
||||
*-creator-cline|*-planner-cline|*-reviewer-cline) kind="cline" ;;
|
||||
*-creator-grok|*-planner-grok|*-reviewer-grok) kind="grok" ;; # 👈 추가
|
||||
*)
|
||||
if echo "$name" | grep -qi "claude"; then kind="claude"
|
||||
elif echo "$name" | grep -qi "agy"; then kind="agy"
|
||||
elif echo "$name" | grep -qi "hermes"; then kind="hermes"
|
||||
elif echo "$name" | grep -qi "cline"; then kind="cline"
|
||||
elif echo "$name" | grep -qi "grok"; then kind="grok" # 👈 추가
|
||||
else kind="generic"; fi
|
||||
;;
|
||||
@@ -225,7 +222,7 @@ esac
|
||||
#### 2) 바이너리 이름 중복 제거 튜플 (`lib.sh:385`)
|
||||
`herdr agent start` 호출 시 첫 번째 인자로 전달되는 바이너리 중복을 방지하기 위해 등록합니다:
|
||||
```bash
|
||||
if [[ " claude agy hermes cline grok " =~ " ${cmd_binary} " ]]; then
|
||||
if [[ " claude agy hermes grok " =~ " ${cmd_binary} " ]]; then
|
||||
```
|
||||
|
||||
---
|
||||
@@ -248,7 +245,7 @@ if [[ " claude agy hermes cline grok " =~ " ${cmd_binary} " ]]; then
|
||||
def test_agent_adapter_registry():
|
||||
"""모든 등록된 에이전트 어댑터 인스턴스 검증"""
|
||||
adapters = get_all_adapters()
|
||||
assert set(adapters.keys()) == {'claude', 'agy', 'hermes', 'cline', 'grok'}
|
||||
assert set(adapters.keys()) == {'claude', 'agy', 'hermes', 'grok'}
|
||||
|
||||
|
||||
def test_adapter_required_properties():
|
||||
|
||||
Reference in New Issue
Block a user