- Add qrbill and pillow dependencies for Swiss QR-bill PNG generation - Add _STRINGS_DE / _STRINGS_EN bilingual string tables to AdminNotifier - Add _generate_qr_bill_png(): Swiss QR code with cross overlay (PNG bytes) - Add _build_parent_html(): HTML confirmation with inline cid:qrbill image - Add _build_parent_text(): plain-text fallback with IBAN in full - Add notify_parent(): multipart/mixed MIME email to parent on completion - Persist metadata.language in _build_record() in json_store.py - Wire notify_parent() into src/agent/core.py and chat_app.py completion events - Add 9 tests for notify_parent, _generate_qr_bill_png, language fallback - Update tasks.md: tasks 1–5 complete; task 6 (smoke test) remains manual 112 tests passing. https://claude.ai/code/session_01LjjK7RjKVnC8bETtccfgna
37 lines
790 B
TOML
37 lines
790 B
TOML
[project]
|
|
name = "meister-eder"
|
|
version = "0.1.0"
|
|
description = "AI-powered conversational registration agent for Spielgruppe Pumuckl"
|
|
requires-python = ">=3.13"
|
|
dependencies = [
|
|
# LLM access — supports any provider (Anthropic, OpenAI, Gemini, …)
|
|
"litellm>=1.0.0",
|
|
# Configuration
|
|
"python-dotenv>=1.0.0",
|
|
# Registration schema validation
|
|
"jsonschema>=4.23.0",
|
|
"chainlit>=2.9.6",
|
|
"qrbill>=1.2.0",
|
|
"pillow>=12.1.1",
|
|
]
|
|
|
|
[project.scripts]
|
|
meister-eder = "main:main"
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src"]
|
|
|
|
[tool.uv]
|
|
dev-dependencies = [
|
|
"pytest>=8.0.0",
|
|
"pytest-asyncio>=1.3.0",
|
|
"pytest-mock>=3.14.0",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
asyncio_mode = "auto"
|