Commit Graph

77 Commits

Author SHA1 Message Date
WASRUSGEN
9f564889b0 fix: Elena asks before redirecting to upload (check/dispute intents) 2026-05-29 00:42:33 +03:00
WASRUSGEN
b95b5a8180 prod: switch API_BASE to wasrusgen1.ru (Finnish VPS via Caddy)
Elena now calls https://wasrusgen1.ru/api/* — Finnish VPS, Anthropic not blocked.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 00:33:55 +03:00
WASRUSGEN
dc13d413f8 feat: Elena Level 2 — context-aware API, client name, case context, parties 2026-05-28 22:51:39 +03:00
WASRUSGEN
07a5e15c82 revert: Elena referent copy restored 2026-05-28 22:41:46 +03:00
WASRUSGEN
71b4aaf0fb fix: step wrapper span→div (garbled button), Elena=robot branding, green dot→brand 2026-05-28 22:37:13 +03:00
WASRUSGEN
a1de6c09ff feat: email draft modal — counterparty email from contract, open in mail client 2026-05-28 22:13:25 +03:00
WASRUSGEN
0382e97093 feat: auto-extract contract parties into postal form f.119 2026-05-28 22:10:52 +03:00
WASRUSGEN
97a7448fa2 feat: postal form f.119 + Pochta Russia tracking in Elena deadline steps 2026-05-28 21:53:12 +03:00
WASRUSGEN
a9a1259179 feat: launch price banner — Цена запуска до 28.08.2026 on pay screen 2026-05-28 21:15:09 +03:00
WASRUSGEN
bacff176e4 fix: telegram @VASRUSGEN — update all contact references 2026-05-28 20:53:23 +03:00
WASRUSGEN
d52fc8f3cc fix: retChatSend — wider isActionQ regex + fallback to buildDlAnswer when API unavailable 2026-05-28 18:44:39 +03:00
WASRUSGEN
f673776b61 fix: elenaIntent question — append to chatwrap when el-step1 is hidden (transfer context) 2026-05-28 18:32:44 +03:00
WASRUSGEN
0c938b3c48 feat: _rcTransferToElena — continue dialog in Elena screen with deadline context 2026-05-28 18:31:46 +03:00
WASRUSGEN
02f6fc70e3 fix: callToAction renders HTML tags as text — pass isRawHtml=true 2026-05-28 18:27:11 +03:00
WASRUSGEN
6e80948c02 fix: Elena answers 'Что нужно сделать?' with concrete steps
- _rcLastContext: stores active deadline when Elena mentions it
- _DL_ACTIONS: step-by-step actions per deadline type
  (payment / notification / renewal / termination / penalty / other)
- _buildDlAnswer(): renders numbered steps + legal warning + CTA buttons
- retChatSend(): detects action questions, answers in-chat (no redirect)
- API path: real Elena response with deadline context injected
- Fallback: template redirect only when no context + no API
- initReturnChat(): updated urgentDL message prompts follow-up question
- _rcAddBubble: supports raw HTML (isRawHtml param)
- _rcEscape: safe text rendering for plain messages

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 18:22:55 +03:00
WASRUSGEN
ca518bb85d feat: client type selector + B2B form on pay screen
- Tabs: Физлицо / ИП / ООО — toggle B2B form visibility
- B2B fields: название, ИНН, КПП (ООО only), адрес, email
- File upload: multi-file, PDF/JPG/PNG/DOCX, 10MB limit, chip list
- Camera: getUserMedia → snap → preview; fallback input[capture] mobile
- Validation: ИНН length check (10/12), required fields before ykOpen
- Auto-save/restore requisites via localStorage
- _initPayScreen() — restore saved B2B data + sync balance on go('pay')

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 18:14:16 +03:00
WASRUSGEN
b91c134327 feat: case status model — active/dispute/wait/completed/archived
- CT_DATA: replaced work/done with 5-state model, added id field
- STATUS_MAP: new labels with emojis per status
- Filters: Все / Активные / В споре / Завершённые / Срочные
- KPI: counts calculated from real statuses (not hardcoded)
- _getActiveCaseIds() / _getHotDeadlines() — helpers for Elena
- initReturnChat: urgentDL filtered to active/dispute cases only
- window._CT_DATA exported for cross-module access

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 17:27:22 +03:00
WASRUSGEN
844654ce59 feat: API layer — /api/elena real responses, /api/deadlines, Council agents
- API_BASE + _elenaApi() with Haiku/Sonnet fallback to templates
- startScan() calls /api/deadlines in parallel with animation
- signed_date question when contract date unknown (_askSignedDate)
- _setSignedDate() recalculates live deadlines, shows hot ones
- Council offer when complexity_score >= 3
- _runCouncil() → parallel 5 agents (Sonnet) + Opus synthesis
- _showCouncilResult() with agent cards + verdict

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 17:08:17 +03:00
WASRUSGEN
6b5211d996 fix: remove el-step1 restore timer, reset on go(start) instead 2026-05-28 16:16:41 +03:00
WASRUSGEN
39799dacc0 fix: invert classifier — whitelist offtopic, not legal; expand intent detection 2026-05-28 16:14:28 +03:00
WASRUSGEN
f63d021a03 feat: empathy-first hero chat — pain-based opening, empathy prefix, input-first UX 2026-05-28 16:11:25 +03:00
WASRUSGEN
05bd5ebe01 fix: create intent — doc type picker, no greeting, no cabinet redirect 2026-05-28 16:07:25 +03:00
WASRUSGEN
989597f490 feat: input classifier — legal/greeting/offtopic filter with progressive lock 2026-05-28 15:57:52 +03:00
WASRUSGEN
8c6289ed1a feat: service order card for power intent + voice mic in chat inputs 2026-05-28 15:45:49 +03:00
WASRUSGEN
c7c5d9f682 fix: _chatTransition — no el-step1 flash when routing from hero chat to Elena 2026-05-28 15:13:09 +03:00
WASRUSGEN
3c29e83ffc feat: personalized returning visitor chat — name, last contract, credits, urgent deadlines 2026-05-28 14:50:59 +03:00
WASRUSGEN
00e96de8bb feat: hero live chat widget — Elena types greeting → user replies → intent routing 2026-05-28 14:47:01 +03:00
WASRUSGEN
2ee34cbc0d feat: admin screen + hybrid pay (разовые+подписка) + balance tab + ЮKassa modal + возврат средств 2026-05-28 14:35:32 +03:00
WASRUSGEN
29edcc46b9 feat: Сроки — дедлайн-лента (заменяет Ганнт), сводка, фильтры, парсинг-архитектура 2026-05-28 13:31:52 +03:00
WASRUSGEN
7e2efc80d3 fix: незакрытые tabpane p-sroki и p-shab — вложение сломало Шаблоны и Составить документ 2026-05-28 13:16:18 +03:00
WASRUSGEN
d3bd861d6c text: typewriter — «Защищаю людей — не только бизнес» 2026-05-28 12:22:56 +03:00
WASRUSGEN
b2aea76f56 text: Рита — 5 правок (Вам, убрать ложные claims, убрать uppercase, уточнить pitch) 2026-05-28 12:16:06 +03:00
WASRUSGEN
9c48e7abea feat: hero typewriter — USP-ротация для нового, персональный текст для вернувшегося клиента 2026-05-28 11:59:53 +03:00
WASRUSGEN
8c778c6c90 feat: Elena conversational first-contact v4 — animated greeting + open dialog + quick-pick cards 2026-05-28 11:53:52 +03:00
WASRUSGEN
2c4ed4cd4e copy: текстовый аудит — 8 правок (время, CTA, доверие, повторы) 2026-05-28 11:47:03 +03:00
WASRUSGEN
6e2ee2e674 feat: Елена — первый экран с намерением, 8 форм документов, обновлён hero 2026-05-28 11:37:06 +03:00
WASRUSGEN
c4f945f0d5 feat: wizard «Составить документ» — 3 шага, 8 типов, превью агентского договора 2026-05-28 11:23:49 +03:00
WASRUSGEN
269483ef4a feat: часы в сайдбаре, счётчик протокола, вкладка Переписка 2026-05-28 11:16:52 +03:00
WASRUSGEN
57dfde38ed risks: accordion expand — цитата из договора + исправленная формулировка + кнопка в протокол 2026-05-28 11:07:55 +03:00
WASRUSGEN
279afff27e case v2: риски (12 позиций), прогресс-шаги, загрузка документов 2026-05-28 10:55:34 +03:00
WASRUSGEN
abc6a813e7 case page: CRM redesign — header, next-step-v2, tabs (Обзор/Документы/История) 2026-05-28 10:49:53 +03:00
WASRUSGEN
4c67c6267c fix: filter bar - segmented control style, remove clutter 2026-05-28 10:35:47 +03:00
WASRUSGEN
0e943e7ed7 feat: CRM cabinet redesign
- Sidebar: sections (Обзор/Инструменты), icons, badge on Мои дела, Новый запрос button, user profile
- Main header: sticky bar with title + search + actions
- KPI cards: Всего / В работе / Срочных / Завершено (live from CT_DATA)
- Search filters table in real time
- Tab title updates in header on navigation
- Текущее дело hidden from sidebar until opened
2026-05-28 10:20:53 +03:00
WASRUSGEN
5a3bc12945 feat: Elena intake v2 - intent chips + voice input
- New greeting: lists all services, open-ended question
- 4 intent chips: Проверить / Составить / Оспорить / Доверенность
- Voice input via Web Speech API (ru-RU), mic pulse animation
- Keyword routing for free text (check vs create vs power)
- Creation flow: type selector -> Договор/Доверенность/Претензия/Другое
- Hidden mic if browser unsupported, permission error handling
2026-05-28 10:07:39 +03:00
WASRUSGEN
4647b5f7d5 fix: cases table - status = order state only (paid/wait/work/ready/done) 2026-05-28 00:33:23 +03:00
WASRUSGEN
0cc1225dc2 feat: cases list as sortable table with filters
- Filters: Все / Открытые / Закрытые / Высокий риск + Новый договор
- Single-line rows: name, type badge, date, risk chip, status, open arrow
- Sortable columns (click header = asc/desc)
- 5 demo cases incl 2 closed/archived
- Gantt removed from Мои дела (belongs to Сопровождение only)
2026-05-28 00:23:00 +03:00
WASRUSGEN
670543e1bd fix: Gantt v2 - done/active rows, accompaniment context, Elena note
- Done tasks: green bar + checkmark + strikethrough text
- Active tasks: highlighted row background
- Title renamed to 'Сопровождение договоров'
- Elena note explains the concept
- Ticker fully removed
2026-05-27 23:58:32 +03:00
WASRUSGEN
fbaaebcbfb remove: ticker strip fully removed 2026-05-27 13:23:37 +03:00
WASRUSGEN
01edc3bee1 feat: MS Project-style Gantt at bottom of Мои дела tab
- Split view: left table (num/name/dur/start/end) + right timeline grid
- 11 rows: 3 contracts as groups, 8 subtasks
- Color-coded bars: done/active/urgent/pending/group
- Today marker (red line), weekend columns shaded
- Scrollable on mobile, renders on cabinet open
2026-05-27 13:08:55 +03:00
WASRUSGEN
7453e6bf64 feat: Gantt timeline in cabinet Sroki tab, ticker hidden from start
- Replaced deadline list with MS Project-style Gantt chart
- 4 cases with color-coded bars (overdue/urgent/warn/ok)
- Today marker, date ticks, scrollable on mobile
- Legend with status colors
- Ticker on start screen hidden
2026-05-27 12:48:53 +03:00