J.A.R.V.I.S-rust/resources/commands/cooking/command.toml
Bossiara13 8f46bd735a
Some checks are pending
Rust CI / cargo test (jarvis-core) (push) Waiting to run
Rust CI / cargo clippy (push) Waiting to run
Rust CI / cargo check (workspace) (push) Waiting to run
feat: Wave 6 — focus mode, cooking timer, memory admin
Focus mode (`focus/`):
- focus.start ("режим фокуса" / "focus mode"): three side-effects in one
  voice trigger:
    1. switch profile to "work" (silences fun/banter)
    2. enable Windows Focus Assist via registry tweak (QuietHours key)
    3. schedule a stretch reminder in 50 minutes through the persistent
       scheduler — so it survives daemon restart
- focus.stop: undoes all three, including cancelling pending stretch
  reminders by matching their scheduler name. Best-effort: any one
  failing doesn't block the others.

Cooking timer (`cooking/`):
- Recognises 16+ dish names (чай, кофе, омлет, яйца, макароны, паста,
  рис, гречка, картошка, курица, пицца, etc.) and starts a preset-
  duration scheduler reminder ("Сэр, чай готов.").
- Single Lua script, table-driven — adding a recipe is one line.
- EN phrases for the same dishes ("boiling pasta", "frying eggs", ...).

Memory admin (`memory_admin/`):
- memory_admin.count → speak fact count with full RU pluralisation.
- memory_admin.list → speak 5 most-recent + toast the rest.
- memory_admin.wipe → ONLY fires on "точно забудь все" prefix (not bare
  "забудь все") so we can't disaster-wipe by accident.
- Adds `long_term_memory::clear_all() -> usize` returning removed count
  + Lua binding `jarvis.memory.clear_all()`.
- One extra unit test for `clear_all`.

Tests: 139 → 140 (+1). Pack count: 92 → 95.
2026-05-16 14:39:55 +03:00

44 lines
1.1 KiB
TOML

# Cooking timer — recognises common dishes and starts a preset timer.
# "поставь чайник" → 4 min, "омлет" → 5 min, "макароны" → 10 min, etc.
# The phrase decides the duration via a built-in table in the lua script.
[[commands]]
id = "cooking.timer"
type = "lua"
script = "timer.lua"
sandbox = "full"
timeout = 5000
[commands.phrases]
ru = [
"поставь чайник",
"поставил чайник",
"варю яйца",
"варю макароны",
"варю пасту",
"жарю омлет",
"жарю яичницу",
"варю кашу",
"варю рис",
"варю гречку",
"варю картошку",
"запекаю курицу",
"пеку пиццу",
"завариваю чай",
"завариваю кофе",
"завариваю френч-пресс",
]
en = [
"boiling water",
"boiling eggs",
"boiling pasta",
"cooking pasta",
"frying omelette",
"frying eggs",
"cooking rice",
"cooking porridge",
"baking pizza",
"brewing tea",
"brewing coffee",
"french press",
]