generated from coulomb/repo-seed
feat: WP-0001 foundation + WP-0002 core extensions
WP-0001 — Foundation & GAAF Baseline - SCOPE.md, ARCHITECTURE-LAYERS.md, contracts/ tree - .claude/rules/ stubs filled (architecture, stack, boundary) - 57 tests (pytest), pyproject.toml with ruff+mypy, CI workflow WP-0002 — Core Extensions (FR-4 + FR-3) - FR-4: BudgetTracker (thread-safe) + LLMBudgetExceededError + optional RunConfig.budget_tracker + enforcement in all adapters - FR-3: async_execute_prompt on LLMAdapter ABC (asyncio.to_thread fallback) + native asyncio.create_subprocess_exec in ClaudeCodeAdapter 81 tests passing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -12,7 +12,7 @@ Quick start::
|
||||
response = adapter.execute_prompt(prompt, run_config)
|
||||
"""
|
||||
|
||||
from llm_connect.models import RunConfig, LLMResponse
|
||||
from llm_connect.models import RunConfig, LLMResponse, BudgetTracker
|
||||
from llm_connect.adapter import LLMAdapter, MockLLMAdapter, ErrorLLMAdapter
|
||||
from llm_connect.factory import create_adapter
|
||||
from llm_connect.openrouter import OpenRouterAdapter
|
||||
@@ -27,6 +27,7 @@ from llm_connect.exceptions import (
|
||||
LLMRateLimitError,
|
||||
LLMTimeoutError,
|
||||
LLMSubprocessError,
|
||||
LLMBudgetExceededError,
|
||||
)
|
||||
from llm_connect.embedding_adapter import EmbeddingAdapter
|
||||
from llm_connect.embedding_openai import OpenAICompatibleEmbeddingAdapter
|
||||
@@ -41,6 +42,7 @@ from llm_connect.similarity import (
|
||||
__all__ = [
|
||||
"RunConfig",
|
||||
"LLMResponse",
|
||||
"BudgetTracker",
|
||||
"LLMAdapter",
|
||||
"MockLLMAdapter",
|
||||
"ErrorLLMAdapter",
|
||||
@@ -57,6 +59,7 @@ __all__ = [
|
||||
"LLMRateLimitError",
|
||||
"LLMTimeoutError",
|
||||
"LLMSubprocessError",
|
||||
"LLMBudgetExceededError",
|
||||
"EmbeddingAdapter",
|
||||
"OpenAICompatibleEmbeddingAdapter",
|
||||
"EmbeddingCache",
|
||||
|
||||
Reference in New Issue
Block a user