fix(providers): export dedicated LLM provider classes from providers/llm/__init__.py #3454

Closed
freemo wants to merge 1 commits from fix/llm-provider-subpackage-exports into master

1 Commits

Author SHA1 Message Date
freemo dd93922230 fix(providers): export dedicated LLM provider classes from providers/llm/__init__.py
CI / lint (pull_request) Failing after 34s
CI / quality (pull_request) Successful in 44s
CI / typecheck (pull_request) Successful in 51s
CI / security (pull_request) Successful in 51s
CI / coverage (pull_request) Has been skipped
CI / build (pull_request) Successful in 32s
CI / helm (pull_request) Successful in 33s
CI / push-validation (pull_request) Successful in 20s
CI / e2e_tests (pull_request) Successful in 3m31s
CI / integration_tests (pull_request) Failing after 4m15s
CI / unit_tests (pull_request) Successful in 7m27s
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 1s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Has been skipped
Populate the previously empty src/cleveragents/providers/llm/__init__.py with
proper __all__ and from-import statements for all five concrete provider classes:

- LangChainChatProvider (base adapter)
- OpenAIChatProvider
- AnthropicChatProvider
- GoogleChatProvider
- OpenRouterChatProvider

Consumers can now import directly from the subpackage:

    from cleveragents.providers.llm import OpenAIChatProvider

instead of the fragile full-module path. Existing full-module-path imports
remain valid (backward compatible).

Add Behave feature file (llm_provider_subpackage_exports.feature) with 11
scenarios verifying:
- Each class is importable from the package level
- __all__ lists all five classes
- Package-level imports are identical objects to direct module imports

Closes #3425

---
**Automated by CleverAgents Bot**
Supervisor: Implementation | Agent: ca-issue-worker
2026-04-09 03:50:42 +00:00