first commit

This commit is contained in:
workD12
2026-09-11 19:47:15 +03:00
commit 32754a1fe2
56 changed files with 3836 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
"""События клавиш — контракт между бэкендом ввода и ассистентом.
Бэкенд (console / Windows-хук) только ПЕРЕДАЁТ события; вся логика
реакции — в машине состояний (modules/assistant).
"""
from __future__ import annotations
from dataclasses import dataclass
from typing import Callable, Optional
@dataclass
class KeyEvents:
"""Набор колбэков ассистента.
on_dialog_toggle — ПРОБЕЛ: начать диалог (куи «готов к диалогу») или
завершить его (куи «до новых встреч»);
on_talk_down — клавиша «Слушай» НАЖАТА (push-to-talk, резервный режим);
on_talk_up — клавиша «Слушай» ОТПУЩЕНА;
on_stop — «Замолчи»: заглушить речь / отменить;
on_repeat — «Повтори»: последнюю фразу;
on_quit — выход из программы.
"""
on_talk_down: Callable[[], None]
on_talk_up: Callable[[], None]
on_stop: Callable[[], None]
on_repeat: Callable[[], None]
on_quit: Callable[[], None]
on_dialog_toggle: Optional[Callable[[], None]] = None