feat: personality pack — Python parity
Python parity for the 5 personality voice commands shipped on the
Rust side:
- New `personality_handlers.py` (~150 lines): do_personality_{greet,
thanks, compliment, how_are_you, tony_quote}. Each picks one of
7-10 phrases per language (RU/EN) at random; greet additionally
buckets by time-of-day (morning/midday/evening/night).
- `extensions.py`: imports + 5 proxy `do_personality_*` functions
pointing at the new module, plus set_speak wiring so handlers can
TTS via the runtime's voice.
- `main.py`: 5 new dispatch elifs feeding the new action types.
- `commands.yaml`: 5 new entries (`personality_*`) mapping voice
phrases to action types.
- `tests/test_personality_handlers.py`: 6 unit tests confirming
each handler returns a non-empty string from the expected pool.
- `.gitignore`: stop tracking runtime state generated by tests
(profiles/, long_term_memory.json, schedule.json, macros.json,
llm_backend.txt, llm_history.json) — these are user data, not
source.
Tests: 54 → 60 (+6).
This commit is contained in:
parent
6079d2730f
commit
45d9425ed7
6 changed files with 337 additions and 0 deletions
|
|
@ -28,6 +28,7 @@ import vision_handler
|
|||
import dev_handlers
|
||||
import llm_backend
|
||||
import wave1_handlers
|
||||
import personality_handlers
|
||||
|
||||
_speak_fn = print
|
||||
_set_clipboard_fn = None
|
||||
|
|
@ -41,6 +42,7 @@ def set_speak(fn):
|
|||
vision_handler.set_speak(fn)
|
||||
dev_handlers.set_speak(fn)
|
||||
wave1_handlers.set_speak(fn)
|
||||
personality_handlers.set_speak(fn)
|
||||
|
||||
|
||||
def set_clipboard_fn(fn):
|
||||
|
|
@ -1119,3 +1121,12 @@ def do_vault_get(a, v): wave1_handlers.do_vault_get(a, v)
|
|||
def do_vault_list(a, v): wave1_handlers.do_vault_list(a, v)
|
||||
def do_habit_checkin(a, v): wave1_handlers.do_habit_checkin(a, v)
|
||||
def do_habit_streak(a, v): wave1_handlers.do_habit_streak(a, v)
|
||||
|
||||
|
||||
# ── Personality proxies (to personality_handlers) ───────────────────────────
|
||||
|
||||
def do_personality_greet(a, v): personality_handlers.do_personality_greet(a, v)
|
||||
def do_personality_thanks(a, v): personality_handlers.do_personality_thanks(a, v)
|
||||
def do_personality_compliment(a, v): personality_handlers.do_personality_compliment(a, v)
|
||||
def do_personality_how_are_you(a, v): personality_handlers.do_personality_how_are_you(a, v)
|
||||
def do_personality_tony_quote(a, v): personality_handlers.do_personality_tony_quote(a, v)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue