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.
52 lines
1.1 KiB
TOML
52 lines
1.1 KiB
TOML
# Focus mode — combines three things real Jarvis would do for a deep-work session:
|
|
# 1. switch active profile to "work" (mutes the noise commands)
|
|
# 2. enable Windows Focus Assist via PowerShell
|
|
# 3. schedule a break reminder for 50 minutes (with 10-min stretch reminder)
|
|
# All in one voice trigger.
|
|
|
|
[[commands]]
|
|
id = "focus.start"
|
|
type = "lua"
|
|
script = "start.lua"
|
|
sandbox = "full"
|
|
timeout = 5000
|
|
|
|
[commands.phrases]
|
|
ru = [
|
|
"режим фокуса",
|
|
"включи фокус",
|
|
"сосредоточиться",
|
|
"не отвлекай",
|
|
"режим работы",
|
|
"хочу поработать",
|
|
]
|
|
en = [
|
|
"focus mode",
|
|
"enable focus",
|
|
"do not disturb",
|
|
"deep work",
|
|
"let me focus",
|
|
]
|
|
|
|
|
|
[[commands]]
|
|
id = "focus.stop"
|
|
type = "lua"
|
|
script = "stop.lua"
|
|
sandbox = "full"
|
|
timeout = 5000
|
|
|
|
[commands.phrases]
|
|
ru = [
|
|
"выключи фокус",
|
|
"выключи режим фокуса",
|
|
"закончил работать",
|
|
"отключи не отвлекай",
|
|
"верни обычный режим",
|
|
]
|
|
en = [
|
|
"exit focus",
|
|
"stop focus",
|
|
"disable focus",
|
|
"i'm done working",
|
|
]
|