refactor(ai): hoist Provider core to shared cmd_chat/ai/ (P1)

Move providers.py + profiles.py from cmd_chat/agent/ to a shared
cmd_chat/ai/ package so the operator bridge and the /ai chat agent can
consume one model-agnostic Provider core (groundwork for harness-mode
operators). Pure refactor — no behaviour change.

- cmd_chat/ai/{providers,profiles}.py: the canonical modules (moved verbatim)
- cmd_chat/ai/__init__.py: re-exports the public API
- cmd_chat/agent/{providers,profiles}.py: thin back-compat shims re-exporting
  from cmd_chat.ai (keeps `from cmd_chat.agent.providers import …` working,
  e.g. hh/scripts/bench-native-harness.py)
- internal agent consumers (memory/bridge/__main__/__init__) point at cmd_chat.ai

125 tests pass; shim identity verified (re-exports are the same objects).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
leetcrypt
2026-06-28 22:57:29 -07:00
parent 7fbae3ca84
commit 300e33980a
9 changed files with 673 additions and 601 deletions
+2 -2
View File
@@ -31,8 +31,8 @@ import argparse
import sys
from .bridge import AgentBridge
from .profiles import load_profiles, provider_from_profile
from .providers import OllamaEmbedder, make_provider, preflight
from cmd_chat.ai.profiles import load_profiles, provider_from_profile
from cmd_chat.ai.providers import OllamaEmbedder, make_provider, preflight
def _build_provider(args, ap):