Phase 0 (housekeeping): - Add .gitignore to protect credentials and runtime files - Track all project source code, docs, and config Phase 1 (perception loop): - Implement pluggable parser architecture (BaseMudParser ABC + ParserFactory) - Add DeadSoulsParser with regex for HP/MP/SP prompt, room descriptions, exits (multiple formats), NPC/item detection, and combat events - Add OutputBuffer for accumulating text between prompts - Update GameState with SP support and update_from_prompt/room/combat methods - Rewire main loop to use parser + buffer for real-time game state updates - Add reconnection logic to TelnetClient (retry with backoff) - Remove old TextParser (replaced by pluggable system) - Add mud_type config field for selecting parser at runtime - Add comprehensive test suite (50 tests, all passing)
42 lines
866 B
TOML
42 lines
866 B
TOML
[tool.poetry]
|
|
name = "mud-ai-player"
|
|
version = "0.1.0"
|
|
description = "AI player for MUD (Multi-User Dungeon) games"
|
|
authors = ["Your Name <your.email@example.com>"]
|
|
readme = "README.md"
|
|
packages = [{include = "src"}]
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.10"
|
|
telnetlib3 = "^2.0"
|
|
networkx = "^3.0"
|
|
sqlalchemy = "^2.0"
|
|
pydantic = "^2.0"
|
|
rich = "^13.0"
|
|
memvid = "^0.1.0"
|
|
faiss-cpu = "^1.7.4"
|
|
sentence-transformers = "^2.2.0"
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
pytest = "^7.0"
|
|
pytest-asyncio = "^0.21"
|
|
pytest-cov = "^4.0"
|
|
black = "^23.0"
|
|
ruff = "^0.1"
|
|
|
|
[build-system]
|
|
requires = ["poetry-core"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.pytest.ini_options]
|
|
asyncio_mode = "auto"
|
|
testpaths = ["tests"]
|
|
|
|
[tool.black]
|
|
line-length = 100
|
|
target-version = ['py310']
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
target-version = "py310"
|