LLM fixes: - _try_repair_json() — ripara JSON malformato (apici, virgole trailing) - _strip_json_from_text() — rimuove residui JSON dalla narration - parse_tool_call() — rimuove troncamento 200 caratteri dal fallback DM fixes: - Fallback euristico quando params vuoti (dm.py) - Estrazione narrazione da dm_override/narrate params.params.text Prompt (prompts.py): - Vietati termini tecnici/scientifici/anacronistici (HPLC, laser, ...) - Aggiunto vocabolario fantasy obbligatorio Server (server.py): - dm_cycle in ThreadPoolExecutor per non bloccare WS ping - WebSocketDisconnect gestiti - Rimosso import inesistente db_schema Frontend (index.html): - Nascosti tool name dalla chat - Personaggio -> PG, connessioni aree con nomi Infrastruttura: - Switch da openrouter/free a DeepSeek V4 Flash via OpenCode Go - pyproject.toml, Dockerfile, docker-compose.yml, start.sh - .env auto-load (start.sh) - Funnel Lv0 (funnel.py) — creazione PG livello 0 Docs: architecture, database, setup, game mechanics, codebase ref
24 lines
436 B
TOML
24 lines
436 B
TOML
[project]
|
|
name = "dcc-rpg"
|
|
version = "0.1.0"
|
|
description = "Dungeon Crawl Classics RPG — AI Dungeon Master"
|
|
requires-python = ">=3.12"
|
|
license = "MIT"
|
|
authors = []
|
|
|
|
dependencies = [
|
|
"fastapi>=0.115",
|
|
"uvicorn>=0.30",
|
|
"httpx>=0.27",
|
|
"pydantic>=2.0",
|
|
"websockets>=12",
|
|
"jinja2>=3.0",
|
|
"sqlite-vec>=0.1",
|
|
]
|
|
|
|
[project.scripts]
|
|
dcc-rpg = "src.web.server:main"
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = ["src*"]
|