CHANGELOG.md
LICENSE
MANIFEST.in
README.md
pyproject.toml
uv.lock
docs/client.md
docs/door.md
docs/operation.md
docs/protocol.md
docs/simulator.md
docs/translations.md
src/powerpetdoor/__init__.py
src/powerpetdoor/client.py
src/powerpetdoor/const.py
src/powerpetdoor/door.py
src/powerpetdoor/framing.py
src/powerpetdoor/i18n.py
src/powerpetdoor/py.typed
src/powerpetdoor/sanitize.py
src/powerpetdoor/schedule.py
src/powerpetdoor/tz_utils.py
src/powerpetdoor/locales/messages.json
src/powerpetdoor/simulator/__init__.py
src/powerpetdoor/simulator/__main__.py
src/powerpetdoor/simulator/cli.py
src/powerpetdoor/simulator/ctl.py
src/powerpetdoor/simulator/engine.py
src/powerpetdoor/simulator/prompt_common.py
src/powerpetdoor/simulator/protocol.py
src/powerpetdoor/simulator/scripting.py
src/powerpetdoor/simulator/server.py
src/powerpetdoor/simulator/state.py
src/powerpetdoor/simulator/commands/__init__.py
src/powerpetdoor/simulator/commands/base.py
src/powerpetdoor/simulator/commands/buttons.py
src/powerpetdoor/simulator/commands/control.py
src/powerpetdoor/simulator/commands/door.py
src/powerpetdoor/simulator/commands/handler.py
src/powerpetdoor/simulator/commands/history.py
src/powerpetdoor/simulator/commands/info.py
src/powerpetdoor/simulator/commands/notifications.py
src/powerpetdoor/simulator/commands/schedules.py
src/powerpetdoor/simulator/commands/scripts.py
src/powerpetdoor/simulator/commands/settings.py
src/powerpetdoor/simulator/commands/simulation.py
src/powerpetdoor/simulator/scripts/basic_cycle.yaml
src/powerpetdoor/simulator/scripts/full_test_suite.yaml
src/powerpetdoor/simulator/scripts/obstruction_test.yaml
src/powerpetdoor/simulator/scripts/pet_presence_test.yaml
src/powerpetdoor/simulator/scripts/power_lockout_test.yaml
src/powerpetdoor/simulator/scripts/safety_lock_test.yaml
src/powerpetdoor/simulator/scripts/schedule_test.yaml
src/pypowerpetdoor.egg-info/PKG-INFO
src/pypowerpetdoor.egg-info/SOURCES.txt
src/pypowerpetdoor.egg-info/dependency_links.txt
src/pypowerpetdoor.egg-info/entry_points.txt
src/pypowerpetdoor.egg-info/requires.txt
src/pypowerpetdoor.egg-info/top_level.txt
tests/TESTING_GAPS.md
tests/__init__.py
tests/conftest.py
tests/test_ci_gates.py
tests/test_client.py
tests/test_docs_accuracy.py
tests/test_door.py
tests/test_exports.py
tests/test_framing.py
tests/test_i18n.py
tests/test_sanitize.py
tests/test_schedule.py
tests/test_tz_utils.py
tests/test_wire_constants.py
tests/fuzz/__init__.py
tests/fuzz/test_client_fuzz.py
tests/fuzz/test_framing_fuzz.py
tests/fuzz/test_schedule_fuzz.py
tests/fuzz/test_tz_fuzz.py
tests/fuzz/test_untrusted_input_fuzz.py
tests/simulator/__init__.py
tests/simulator/test_cli.py
tests/simulator/test_client_integration.py
tests/simulator/test_commands.py
tests/simulator/test_commands_base.py
tests/simulator/test_commands_handler.py
tests/simulator/test_commands_history.py
tests/simulator/test_commands_info.py
tests/simulator/test_commands_schedules.py
tests/simulator/test_commands_settings.py
tests/simulator/test_commands_toggles.py
tests/simulator/test_ctl.py
tests/simulator/test_ctl_interactive.py
tests/simulator/test_engine.py
tests/simulator/test_integration.py
tests/simulator/test_prompt_common.py
tests/simulator/test_protocol.py
tests/simulator/test_scripting.py
tests/simulator/test_server.py
tests/simulator/test_state.py
tests/simulator/test_wire.py
tests/simulator/wire.py
tests/simulator/scripts/__init__.py
tests/simulator/scripts/conftest.py
tests/simulator/scripts/test_basic_cycle.py
tests/simulator/scripts/test_full_test_suite.py
tests/simulator/scripts/test_obstruction_test.py
tests/simulator/scripts/test_pet_presence_test.py
tests/simulator/scripts/test_power_lockout_test.py
tests/simulator/scripts/test_safety_lock_test.py
tests/simulator/scripts/test_schedule_test.py