innercontext/backend
Piotr Oleszczyk 81b1cacc5c refactor(llm): use response_schema with typed enums in all Gemini calls
Pass response_schema to all three generate_content calls so Gemini
constrains its output to valid enum values and correct JSON structure:

- routines.py: _StepOut.action_type Optional[str] → Optional[GroomingAction]
- skincare.py: add _SkinAnalysisOut(PydanticBase) with OverallSkinState,
  SkinType, SkinTexture, BarrierState, SkinConcern enums; add response_schema
- products.py: pass ProductParseResponse directly as response_schema;
  remove NaN/Infinity/undefined regex cleanup, markdown-fence extraction,
  finish_reason logging, and re import — all now unnecessary

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 00:46:23 +01:00
..
alembic feat(backend): add Alembic migrations 2026-02-28 20:14:57 +01:00
innercontext refactor(llm): use response_schema with typed enums in all Gemini calls 2026-03-01 00:46:23 +01:00
tests feat(mcp): add FastMCP server with 14 tools for LLM agent access 2026-02-28 17:59:11 +01:00
.env.example fix: load .env via python-dotenv; SQLite default for local dev 2026-02-26 20:51:13 +01:00
.python-version Initial commit: backend API, data models, and test suite 2026-02-26 15:10:24 +01:00
alembic.ini feat(backend): add Alembic migrations 2026-02-28 20:14:57 +01:00
db.py Initial commit: backend API, data models, and test suite 2026-02-26 15:10:24 +01:00
main.py feat(mcp): add FastMCP server with 14 tools for LLM agent access 2026-02-28 17:59:11 +01:00
pyproject.toml feat(backend): add Alembic migrations 2026-02-28 20:14:57 +01:00
README.md Initial commit: backend API, data models, and test suite 2026-02-26 15:10:24 +01:00
skincare.yaml Initial commit: backend API, data models, and test suite 2026-02-26 15:10:24 +01:00
uv.lock feat(backend): add Alembic migrations 2026-02-28 20:14:57 +01:00

See the root README for setup and usage instructions.