feat: Python parity for Wave 6-8 — memory admin / cooking / leftoff / trivia / routines
New module `wave68_handlers.py` (~270 lines) covering the Rust packs that
were Rust-only after Waves 6-8:
- memory_admin: do_memory_count/list/wipe (with full RU plural decl.)
- cooking: do_cooking + reusable match_recipe(phrase) for the 15-dish
preset table. Schedules a "ready!" reminder via scheduler_store.
- leftoff: do_leftoff stitches memory + scheduled tasks + last reply
into a one-paragraph recap. Offline.
- trivia: do_trivia random one-liner from RU/EN MCU pools.
- routines: do_good_night (sleep profile + cancel one-shots),
do_good_morning (default profile + agenda hint),
do_coffee_break (5-min check-in via scheduler).
memory_store: new clear_all() returning removed count, atomic via _save.
extensions.py: imports + set_speak wiring + 9 proxy do_* fns.
main.py: 9 new dispatch elifs.
commands.yaml: 9 new entries (now 196 total).
tests/test_wave68_handlers.py: 15 unit tests covering each handler.
Test helper `_rewire()` re-imports state modules via the existing
isolated_state fixture then re-binds the wave68_handlers module-level
refs — fixes the gotcha where module-level imports cache the OLD
memory_store / scheduler_store instances from process startup.
Tests: 81 → 96 (+15).
This commit is contained in:
parent
5265cb0fbe
commit
94edb73f26
7 changed files with 644 additions and 0 deletions
|
|
@ -1624,3 +1624,88 @@ outlook_summarize_inbox:
|
|||
- сделай саммари инбокса
|
||||
- что нового в почте
|
||||
action: {type: outlook_summarize_inbox}
|
||||
|
||||
memory_count:
|
||||
phrases:
|
||||
- сколько фактов помнишь
|
||||
- сколько ты помнишь
|
||||
- сколько у тебя в памяти
|
||||
- размер памяти
|
||||
action: {type: memory_count}
|
||||
|
||||
memory_list:
|
||||
phrases:
|
||||
- выгрузи список фактов
|
||||
- покажи что помнишь
|
||||
- перечисли что помнишь
|
||||
- что у тебя в памяти
|
||||
action: {type: memory_list}
|
||||
|
||||
memory_wipe:
|
||||
phrases:
|
||||
- точно забудь все
|
||||
- точно забудь всё
|
||||
- сотри всю память
|
||||
action: {type: memory_wipe}
|
||||
|
||||
cooking_timer:
|
||||
phrases:
|
||||
- поставь чайник
|
||||
- варю яйца
|
||||
- варю макароны
|
||||
- варю пасту
|
||||
- жарю омлет
|
||||
- жарю яичницу
|
||||
- варю кашу
|
||||
- варю рис
|
||||
- варю гречку
|
||||
- варю картошку
|
||||
- запекаю курицу
|
||||
- пеку пиццу
|
||||
- завариваю чай
|
||||
- завариваю кофе
|
||||
- завариваю френч-пресс
|
||||
action: {type: cooking}
|
||||
|
||||
leftoff:
|
||||
phrases:
|
||||
- на чём я остановился
|
||||
- на чем я остановился
|
||||
- напомни что делал
|
||||
- что я делал
|
||||
- где я остановился
|
||||
- продолжи откуда я
|
||||
action: {type: leftoff}
|
||||
|
||||
trivia_iron_man:
|
||||
phrases:
|
||||
- расскажи про железного человека
|
||||
- факт про железного человека
|
||||
- интересное про старка
|
||||
- марвел факт
|
||||
action: {type: trivia}
|
||||
|
||||
routines_good_night:
|
||||
phrases:
|
||||
- спокойной ночи
|
||||
- иду спать
|
||||
- пока я в кровати
|
||||
- ночной режим
|
||||
- выключи всё на ночь
|
||||
action: {type: good_night}
|
||||
|
||||
routines_good_morning:
|
||||
phrases:
|
||||
- доброе утро джарвис
|
||||
- доброе утро
|
||||
- я проснулся
|
||||
- начинаем день
|
||||
action: {type: good_morning}
|
||||
|
||||
routines_coffee_break:
|
||||
phrases:
|
||||
- иду за кофе
|
||||
- перерыв на кофе
|
||||
- перерыв на чай
|
||||
- отойду минут на пять
|
||||
action: {type: coffee_break}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue