freemo
dd93922230
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
fix(providers): export dedicated LLM provider classes from providers/llm/__init__.py
...
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
..
2026-04-05 21:19:43 +00:00
2026-04-02 16:59:07 +00:00
2026-04-09 03:50:42 +00:00
2026-04-08 11:02:14 +00:00
2026-03-31 21:47:12 +00:00
2026-04-03 00:29:46 +00:00
2026-04-02 16:51:04 +00:00
2026-04-08 11:02:14 +00:00
2026-04-02 23:53:13 +00:00
2026-04-01 06:16:41 +00:00
2026-04-01 06:16:41 +00:00
2026-04-05 21:26:33 +00:00
2026-03-31 21:47:12 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-05 21:19:40 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-03-31 21:47:12 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-03-31 21:47:12 +00:00
2026-04-02 16:58:36 +00:00
2026-04-02 17:00:53 +00:00
2026-04-02 06:21:49 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-03-31 21:47:12 +00:00
2026-04-08 11:02:14 +00:00
2026-04-02 19:09:04 +00:00
2026-04-05 08:39:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-02 19:09:04 +00:00
2026-04-02 19:09:04 +00:00
2026-04-08 11:02:14 +00:00
2026-04-02 19:09:04 +00:00
2026-03-31 21:47:12 +00:00
2026-04-01 06:16:41 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-03-31 21:47:12 +00:00
2026-04-08 11:02:14 +00:00
2026-03-31 21:47:12 +00:00
2026-04-05 07:43:56 +00:00
2026-04-01 01:46:37 +00:00
2026-04-05 17:55:54 +00:00
2026-04-08 11:02:14 +00:00
2026-04-05 18:20:15 +00:00
2026-04-08 11:02:14 +00:00
2026-04-05 08:04:27 +00:00
2026-04-08 11:02:14 +00:00
2026-04-06 07:55:09 +00:00
2026-04-05 04:33:46 +00:00
2026-04-05 04:33:46 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-05 20:56:32 +00:00
2026-04-02 19:09:04 +00:00
2026-03-31 21:47:12 +00:00
2026-04-05 04:09:27 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-03-31 21:47:12 +00:00
2026-04-05 04:22:46 +00:00
2026-04-05 04:22:46 +00:00
2026-04-05 04:22:46 +00:00
2026-04-05 04:22:46 +00:00
2026-04-05 04:22:46 +00:00
2026-04-04 20:38:16 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-03-31 21:47:12 +00:00
2026-04-08 11:02:14 +00:00
2026-03-31 21:47:12 +00:00
2026-04-02 17:08:52 +00:00
2026-04-05 18:08:56 +00:00
2026-04-05 21:06:04 +00:00
2026-04-04 20:38:16 +00:00
2026-04-05 08:43:01 +00:00
2026-04-02 16:58:39 +00:00
2026-04-02 17:07:48 +00:00
2026-04-02 16:53:03 +00:00
2026-04-08 11:02:14 +00:00
2026-03-31 21:47:12 +00:00
2026-03-31 21:47:12 +00:00
2026-04-02 16:58:39 +00:00
2026-04-05 17:49:20 +00:00
2026-03-31 21:47:12 +00:00
2026-03-31 21:47:12 +00:00
2026-04-05 08:29:55 +00:00
2026-03-31 21:47:12 +00:00
2026-04-05 05:46:05 +00:00
2026-04-02 16:59:14 +00:00
2026-03-31 23:57:39 +00:00
2026-04-05 08:26:50 +00:00
2026-04-09 03:50:42 +00:00
2026-04-02 16:58:32 +00:00
2026-03-31 21:47:12 +00:00
2026-03-31 21:47:12 +00:00
2026-04-02 16:52:33 +00:00
2026-04-05 07:06:53 +00:00
2026-03-31 21:47:12 +00:00
2026-04-02 16:52:33 +00:00
2026-03-31 21:47:12 +00:00
2026-04-02 19:09:04 +00:00
2026-04-08 11:02:14 +00:00
2026-03-31 21:47:12 +00:00
2026-03-31 21:47:12 +00:00
2026-04-05 07:48:02 +00:00
2026-04-08 11:02:14 +00:00
2026-03-31 21:47:12 +00:00
2026-04-02 17:08:38 +00:00
2026-04-02 17:07:41 +00:00
2026-04-04 20:38:16 +00:00
2026-04-02 19:09:04 +00:00
2026-04-02 19:09:04 +00:00
2026-04-08 11:02:14 +00:00
2026-04-05 21:06:55 +00:00
2026-04-04 20:38:16 +00:00
2026-04-02 19:09:04 +00:00
2026-04-08 11:02:14 +00:00
2026-04-02 19:09:04 +00:00
2026-04-02 19:09:04 +00:00
2026-04-08 11:02:14 +00:00
2026-04-05 20:46:24 +00:00
2026-04-08 11:02:14 +00:00
2026-04-04 20:38:16 +00:00
2026-04-02 19:09:04 +00:00
2026-03-31 21:47:12 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-05 04:38:31 +00:00
2026-04-03 00:01:48 +00:00
2026-04-02 16:59:48 +00:00
2026-04-05 08:22:36 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-03-31 21:47:12 +00:00
2026-04-05 18:00:27 +00:00
2026-03-31 21:47:12 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-03-31 21:47:12 +00:00
2026-04-08 11:02:14 +00:00
2026-04-02 16:52:33 +00:00
2026-04-08 11:02:14 +00:00
2026-03-31 21:47:12 +00:00
2026-04-01 13:02:24 +00:00
2026-04-04 20:38:16 +00:00
2026-04-04 20:38:16 +00:00
2026-03-31 21:47:12 +00:00
2026-04-08 11:02:14 +00:00
2026-04-05 08:29:36 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-05 09:03:32 +00:00
2026-03-31 21:47:12 +00:00
2026-03-31 21:47:12 +00:00
2026-04-05 04:37:45 +00:00
2026-04-08 11:02:14 +00:00
2026-03-31 21:47:12 +00:00
2026-04-08 11:02:14 +00:00
2026-04-04 20:38:16 +00:00
2026-04-05 21:12:13 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-05 21:11:53 +00:00
2026-04-05 07:15:48 +00:00
2026-04-05 08:22:36 +00:00
2026-04-08 11:02:14 +00:00
2026-04-05 07:43:56 +00:00
2026-04-05 08:59:59 +00:00
2026-03-31 23:57:39 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-02 16:51:29 +00:00
2026-04-05 17:52:59 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-05 09:09:06 +00:00
2026-04-02 23:53:13 +00:00
2026-04-08 11:02:14 +00:00
2026-04-06 07:55:09 +00:00
2026-04-05 04:19:52 +00:00
2026-04-08 11:02:14 +00:00
2026-04-01 21:51:14 +00:00
2026-04-05 18:08:09 +00:00
2026-04-02 17:12:54 +00:00
2026-04-05 18:08:09 +00:00
2026-04-05 18:09:41 +00:00
2026-04-03 05:56:27 +00:00
2026-04-02 17:08:13 +00:00
2026-04-08 11:02:14 +00:00
2026-04-02 20:48:33 +00:00
2026-04-01 09:23:21 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-03 05:56:27 +00:00
2026-04-02 17:09:15 +00:00
2026-04-06 07:55:09 +00:00
2026-04-05 03:26:37 +00:00
2026-03-31 21:47:12 +00:00
2026-04-01 03:30:00 +00:00