alms-cli 0.1.7__tar.gz → 0.1.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {alms_cli-0.1.7 → alms_cli-0.1.8}/PKG-INFO +1 -1
- {alms_cli-0.1.7 → alms_cli-0.1.8}/pyproject.toml +1 -1
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/__init__.py +1 -1
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/main.py.j2 +14 -12
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/config/settings.py.j2 +2 -1
- alms_cli-0.1.8/src/alms_cli/templates/files/src/providers/ai/factory.py.j2 +9 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/providers/ai/langchain_model_loader.py.j2 +3 -3
- alms_cli-0.1.7/src/alms_cli/templates/files/src/providers/ai/factory.py.j2 +0 -10
- {alms_cli-0.1.7 → alms_cli-0.1.8}/.gitignore +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/LICENSE +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/README.md +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/__main__.py +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/commands/__init__.py +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/commands/info.py +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/commands/init.py +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/main.py +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/__init__.py +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/.env.example.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/.github/ISSUE_TEMPLATE/bug_report.yml.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/.github/ISSUE_TEMPLATE/feature_request.yml.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/.github/dependabot.yml.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/.github/pull_request_template.md.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/.github/workflows/ci.yml.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/.gitignore.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/Dockerfile.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/README.md.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/alembic/README.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/alembic/env.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/alembic/script.py.mako.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/alembic.ini.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docker-compose.yml.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/01-System-Design.md.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/02-Design-Patterns.md.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/03-Database-Design.md.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/04-Tech-Stack.md.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/05-Project-Structure.md.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/06-API-Documentation.md.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/07-Setup-Installation.md.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/08-Contribution-Guide.md.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/pyproject.toml.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/pytest.ini.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/rules/project_rules.md.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/agents/agent_manager/agent.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/agents/prompts/sample_agent_prompt.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/dependencies.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/health.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/metrics.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/routers.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/sample_agent.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/sample_di.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/schemas/base.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/schemas/sample.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/middlewares/error_handler.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/middlewares/logging.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/middlewares/observability.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/middlewares/security.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/router/routers.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/config/logs_config.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/core/exceptions.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/database/connection.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/database/repositories/base.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/database/repositories/sqlalchemy_repository.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/execution/actions/sample_action.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/execution/usecases/sample_usecase.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/observability/__init__.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/observability/metrics.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/observability/tracing.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/providers/ai/base.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/README.md.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/conftest.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/e2e/test_workflows.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/integration/test_full_stack.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/v1/test_agent.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/v1/test_health.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/v1/test_metrics.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/v1/test_metrics_endpoint.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/v1/test_observability_middleware.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/v1/test_sqlalchemy_repository.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/v1/test_tracing.py.j2 +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/generator.py +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/profiles.py +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/template_renderer.py +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/ui/__init__.py +0 -0
- {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/ui/components.py +0 -0
|
@@ -47,13 +47,25 @@ def create_app() -> FastAPI:
|
|
|
47
47
|
app.add_middleware(ErrorHandlerMiddleware)
|
|
48
48
|
app.add_middleware(
|
|
49
49
|
CORSMiddleware,
|
|
50
|
-
allow_origins=
|
|
50
|
+
allow_origins=settings.ALLOWED_HOSTS,
|
|
51
51
|
allow_credentials=True,
|
|
52
52
|
allow_methods=["*"],
|
|
53
53
|
allow_headers=["*"],
|
|
54
54
|
)
|
|
55
55
|
|
|
56
56
|
app.include_router(api_router, prefix=settings.API_PREFIX)
|
|
57
|
+
{% if has_scalar %}
|
|
58
|
+
|
|
59
|
+
# Scalar API Documentation
|
|
60
|
+
try:
|
|
61
|
+
from scalar_fastapi import get_scalar_api_reference
|
|
62
|
+
|
|
63
|
+
@app.get("/docs", include_in_schema=False)
|
|
64
|
+
async def scalar_html():
|
|
65
|
+
return get_scalar_api_reference(openapi_url=app.openapi_url, title=app.title)
|
|
66
|
+
except ImportError:
|
|
67
|
+
pass
|
|
68
|
+
{% endif %}
|
|
57
69
|
return app
|
|
58
70
|
|
|
59
71
|
|
|
@@ -66,14 +78,4 @@ if __name__ == "__main__":
|
|
|
66
78
|
host=settings.SERVER_HOST,
|
|
67
79
|
port=settings.SERVER_PORT,
|
|
68
80
|
reload=settings.DEBUG,
|
|
69
|
-
)
|
|
70
|
-
{% if has_scalar %}
|
|
71
|
-
|
|
72
|
-
try:
|
|
73
|
-
from scalar_fastapi import get_scalar_api_reference
|
|
74
|
-
@app.get("/docs", include_in_schema=False)
|
|
75
|
-
async def scalar_html():
|
|
76
|
-
return get_scalar_api_reference(openapi_url=app.openapi_url, title=app.title)
|
|
77
|
-
except ImportError:
|
|
78
|
-
pass
|
|
79
|
-
{% endif %}
|
|
81
|
+
)
|
|
@@ -15,7 +15,8 @@ class Settings(BaseSettings):
|
|
|
15
15
|
{% if has_ai %} AI_ENABLED: bool = False
|
|
16
16
|
{% endif %}{% if has_db %} DATABASE_ENABLED: bool = True
|
|
17
17
|
{% endif %}{% if has_redis %} REDIS_ENABLED: bool = False
|
|
18
|
-
{% endif %}{% if has_ai %}
|
|
18
|
+
{% endif %}{% if has_ai %} MODEL_PROVIDER: str = "openai" # reserved for future provider selection; only "openai" is supported
|
|
19
|
+
OPENAI_API_KEY: str = ""
|
|
19
20
|
OPENAI_MODEL_BASIC: str = "gpt-4o-mini"
|
|
20
21
|
OPENAI_MODEL_REASONING: str = "gpt-4o"
|
|
21
22
|
{% endif %}{% if has_db %} DATABASE_URL: str | None = None
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"""AI provider factory."""
|
|
2
|
+
|
|
3
|
+
from src.providers.ai.base import AIModelProvider
|
|
4
|
+
from src.providers.ai.langchain_model_loader import LangchainModelLoader
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def get_ai_provider() -> AIModelProvider:
|
|
8
|
+
"""Return the configured AI provider."""
|
|
9
|
+
return LangchainModelLoader()
|
|
@@ -5,8 +5,8 @@ from src.config.settings import settings
|
|
|
5
5
|
from src.providers.ai.base import AIModelProvider
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
class
|
|
9
|
-
"""LangChain AI model
|
|
8
|
+
class LangchainModelLoader(AIModelProvider):
|
|
9
|
+
"""LangChain AI model loader."""
|
|
10
10
|
|
|
11
11
|
def get_chat_model(self, tier: str = "basic"):
|
|
12
12
|
"""Get LLM instance."""
|
|
@@ -24,4 +24,4 @@ class LangChainModelProvider(AIModelProvider):
|
|
|
24
24
|
|
|
25
25
|
def get_llm(model: str = "basic"):
|
|
26
26
|
"""Get LLM instance."""
|
|
27
|
-
return
|
|
27
|
+
return LangchainModelLoader().get_chat_model(tier=model)
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"""AI provider factory."""
|
|
2
|
-
|
|
3
|
-
from functools import lru_cache
|
|
4
|
-
from src.providers.ai.langchain_model_loader import LangChainModelProvider
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
@lru_cache
|
|
8
|
-
def get_ai_provider() -> LangChainModelProvider:
|
|
9
|
-
"""Return the configured AI provider."""
|
|
10
|
-
return LangChainModelProvider()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/.github/pull_request_template.md.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/02-Design-Patterns.md.j2
RENAMED
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/03-Database-Design.md.j2
RENAMED
|
File without changes
|
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/05-Project-Structure.md.j2
RENAMED
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/06-API-Documentation.md.j2
RENAMED
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/07-Setup-Installation.md.j2
RENAMED
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/08-Contribution-Guide.md.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/agents/agent_manager/agent.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/health.py.j2
RENAMED
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/metrics.py.j2
RENAMED
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/routers.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/sample_di.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/middlewares/logging.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/middlewares/security.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/database/connection.py.j2
RENAMED
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/database/repositories/base.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/observability/__init__.py.j2
RENAMED
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/observability/metrics.py.j2
RENAMED
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/observability/tracing.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/e2e/test_workflows.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/v1/test_agent.py.j2
RENAMED
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/v1/test_health.py.j2
RENAMED
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/v1/test_metrics.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/v1/test_tracing.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|