@yadsh/dsh-qa-surface 0.11.1 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/lib/access/service.js +2 -1
  2. package/lib/access/service.js.map +1 -1
  3. package/lib/client/QaSessionController.js +24 -2
  4. package/lib/client/QaSessionController.js.map +1 -1
  5. package/lib/client/QaSurface.js +9 -2
  6. package/lib/client/QaSurface.js.map +1 -1
  7. package/lib/client/components/QaChangelog.js +46 -11
  8. package/lib/client/components/QaChangelog.js.map +1 -1
  9. package/lib/client/components/QaSidebar.js +13 -15
  10. package/lib/client/components/QaSidebar.js.map +1 -1
  11. package/lib/client/settings/card.js +2 -2
  12. package/lib/client/settings/card.js.map +1 -1
  13. package/lib/client/settings/sections/docs.js +41 -0
  14. package/lib/client/settings/sections/docs.js.map +1 -0
  15. package/lib/client/settings/sections.js +1 -0
  16. package/lib/client/settings/sections.js.map +1 -1
  17. package/lib/client/slash/SlashPalette.js +4 -13
  18. package/lib/client/slash/SlashPalette.js.map +1 -1
  19. package/lib/client/slash/palette-rows.js +45 -0
  20. package/lib/client/slash/palette-rows.js.map +1 -0
  21. package/lib/client/slash/useSlashNavigation.js +8 -2
  22. package/lib/client/slash/useSlashNavigation.js.map +1 -1
  23. package/lib/client/styles.js +1 -2
  24. package/lib/client/styles.js.map +1 -1
  25. package/lib/client/turn-sources.js +20 -0
  26. package/lib/client/turn-sources.js.map +1 -1
  27. package/lib/client.js +398 -206
  28. package/lib/client.js.map +1 -1
  29. package/lib/config-resolvers/defaults.js +7 -0
  30. package/lib/config-resolvers/defaults.js.map +1 -1
  31. package/lib/config-resolvers/integration.js +7 -1
  32. package/lib/config-resolvers/integration.js.map +1 -1
  33. package/lib/config-resolvers/shared.js +12 -0
  34. package/lib/config-resolvers/shared.js.map +1 -1
  35. package/lib/config-resolvers/tools.js +26 -0
  36. package/lib/config-resolvers/tools.js.map +1 -1
  37. package/lib/config.js +21 -0
  38. package/lib/config.js.map +1 -1
  39. package/lib/index.js +10 -2
  40. package/lib/index.js.map +1 -1
  41. package/lib/launch-token.js +22 -17
  42. package/lib/launch-token.js.map +1 -1
  43. package/lib/qa-tools/catalog.js +13 -2
  44. package/lib/qa-tools/catalog.js.map +1 -1
  45. package/lib/qa-tools/docs-tools.js +334 -32
  46. package/lib/qa-tools/docs-tools.js.map +1 -1
  47. package/lib/qa-tools/index.js +2 -0
  48. package/lib/qa-tools/index.js.map +1 -1
  49. package/lib/secure-session.js +8 -0
  50. package/lib/secure-session.js.map +1 -1
  51. package/lib/shared/docs-version.js +19 -0
  52. package/lib/shared/docs-version.js.map +1 -0
  53. package/lib/typert.host.js +71 -68
  54. package/lib/typert.remote-client.js +70 -67
  55. package/lib/types/client/QaSessionController.d.ts +14 -0
  56. package/lib/types/client/components/QaWidthHandle.d.ts +0 -1
  57. package/lib/types/client/settings/sections/docs.d.ts +15 -0
  58. package/lib/types/client/settings/sections.d.ts +1 -0
  59. package/lib/types/client/slash/palette-rows.d.ts +43 -0
  60. package/lib/types/client/turn-sources.d.ts +14 -0
  61. package/lib/types/config-resolvers/integration.d.ts +7 -1
  62. package/lib/types/config-resolvers/shared.d.ts +8 -0
  63. package/lib/types/config-resolvers/tools.d.ts +9 -0
  64. package/lib/types/launch-token.d.ts +10 -3
  65. package/lib/types/qa-tools/catalog.d.ts +11 -1
  66. package/lib/types/qa-tools/docs-tools.d.ts +38 -5
  67. package/lib/types/qa-tools/index.d.ts +7 -0
  68. package/lib/types/shared/docs-version.d.ts +15 -0
  69. package/lib/types/types.d.ts +34 -0
  70. package/package.json +5 -5
@@ -2,6 +2,46 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { QaModal } from "./QaModal.js";
3
3
  export const QA_VERSION = __DSH_QA_VERSION__;
4
4
  export const QA_CHANGELOG = [
5
+ {
6
+ version: "0.12.0",
7
+ date: "2026-09-22",
8
+ sections: [
9
+ {
10
+ title: "Новое",
11
+ items: [
12
+ "Стенд может назвать редакцию документации, по которой отвечает. Корпус публикуется сразу в нескольких редакциях — одна и та же глава про монтаж или про интеграцию лежит отдельно для 3.7 и для 3.8, — и вопрос «как настроить интеграцию» попадал в ту редакцию, которая встретилась поиску первой. Теперь в настройках, в разделе «Документация», задаётся версия по умолчанию: поиск, которому не назвали версию и не сузили подкаталог, ищет только по ней. Версия, названная в самом вопросе к поиску или в пути, сильнее умолчания — спросить про другую редакцию по-прежнему можно. Рядом видно, откуда стенд читает документацию: общий корпус развёртывания или каталог docs рабочего каталога чата. В ответе поиска видно, что редакцию подставил стенд, а не спрашивающий: «version 3.8, the stand's default».",
13
+ ],
14
+ },
15
+ {
16
+ title: "Исправления",
17
+ items: [
18
+ "Первое сообщение нового чата больше не исчезает. После создания разговора стенд закрепляет его за учётной записью; это обновление списка чатов ошибочно перезапускало контроллер ровно между проверкой допуска и отправкой вопроса. Поле ввода уже очищалось, вопрос на мгновение появлялся в переписке, затем снова показывался пустой экран, а ошибки не было. Теперь изменение списка принадлежащих пользователю чатов не считается новым входом: первый вопрос остаётся на экране и доходит до только что созданного разговора.",
19
+ "Удаление чата из истории теперь требует явного подтверждения. Первый клик открывает диалог с названием чата и пояснением, что удаляется запись этого браузера, а сам разговор остаётся на стенде; действие можно отменить кнопкой, крестиком, кликом по фону или Escape.",
20
+ "Настройки документации применяются без перезапуска стенда. Смена общего корня или версии по умолчанию раньше меняла карточку настроек, но уже созданные инструменты продолжали читать прежний снимок. Заодно общий каталог может называться не только docs — в ответах путь всё равно остаётся привычным docs/…, редакция V2 совпадает с v2, исключённые редакции не расходуют предел обхода, а поиск по явно заданному пути не приписывает выбор версии умолчанию стенда.",
21
+ "Права роли больше не расширяются самим фактом подключения динамического набора инструментов. В чате с учётной записью инструмент доступен только тогда, когда он указан в роли или выдан разрешённым навыком; подключённый к агенту, но не разрешённый ролью инструмент получает отказ до выполнения.",
22
+ "Поиск по документации находит документы, а не описи. У корпуса есть служебные каталоги рядом с документами — дерево картинок, описи, разбор спорных случаев, — и поиск читал их первыми: подчёркивание в имени сортируется раньше букв, а опись перечисляет все модули и версии корпуса, поэтому она отвечала на любой вопрос о продукте и выбирала весь лимит ответа до того, как открывался первый документ. На стенде с таким корпусом поиск без указания пути не находил вообще ничего: обход считал картинки, упирался в предел и останавливался, не дойдя до текстов. Теперь порядок обхода — документы, затем отдельные файлы, затем служебные каталоги; очередь каталогов решается путём, а не порядком обнаружения (служебная опись в корне больше не опережает документ модуля на уровень глубже); картинки, архивы и офисные файлы узнаются по расширению и не читаются вовсе; ни они, ни файлы вне выбранной области не расходуют предел прочитанных документов. Поиск, который ничего не нашёл, теперь говорит это, прочитав корпус.",
23
+ "Фильтры «версия» и «модуль» снова работают. Ответ поиска называет редакцию и модуль, по которым он искал, но в объявленной схеме ответа эти два поля не были описаны, а стенд отказывает в ответе с неописанным полем: каждый вызов с фильтром падал с «returned invalid output» уже после выполненного поиска — то есть ровно тот вызов, ради которого фильтры и сделаны. Оба поля объявлены.",
24
+ ],
25
+ },
26
+ ],
27
+ },
28
+ {
29
+ version: "0.11.2",
30
+ date: "2026-09-22",
31
+ sections: [
32
+ {
33
+ title: "Исправления",
34
+ items: [
35
+ "Помощник снова может читать документацию стенда там, где она лежит. Поиск и чтение документации искали её строго в каталоге docs рабочего каталога чата. Пока документация лежала рядом с чатом, это работало; на стенде с личным каталогом у каждой учётной записи рабочий каталог чата — её собственный (внутри /workspace/work), а документация опубликована один раз, отдельно. Инструмент исправно отвечал «в рабочем каталоге этого чата нет каталога docs», хотя документация на стенде есть, и так было и в чате, и у каждого эксперта: путь к ней знали только файловые инструменты, которым путь называют явно. Теперь стенд называет корень документации настройкой (tools.docsRoot, на этом стенде — /workspace/docs), и оба инструмента читают ровно это дерево: те же пути в ответе, те же проверки (корень существует, это настоящий каталог, не ссылка; путь за пределы дерева отвергается). На стенде без личных каталогов ничего не изменилось — там по-прежнему ищется docs рядом с чатом.",
36
+ "Инструменты, которые стенд выдал помощнику сам, больше не отказывают в чате с учётной записью. Поиск и чтение документации, диагностика набора инструментов и удаление файла в рабочем каталоге выданы помощнику стендом, а не ролью: их нет ни в одном списке роли, и роль не может их отозвать. Разрешение на вызов проверяют два уровня, и в чате с учётной записью про эти инструменты знал только один — второй строил границы разговора из списка стенда, инструментов роли и того, что роль может выдать по навыку, и выданных стендом инструментов там не находил. Получался отказ «инструмент вне профиля возможностей разговора», по которому невозможно понять, чего именно не хватает: инструмент виден помощнику, стенд его выдал, а вызов всё равно не проходит. Теперь границы разговора считают инструменты стенда так же, как это уже работало в чатах без учётных записей, а проверка профиля читает их из набора самого помощника. То, чего стенд помощнику не выдавал, остаётся за ролью: отказ на такой инструмент по-прежнему называет профиль, а не разговор.",
37
+ "Внешняя программа может ждать ответ дольше десяти минут. Предел ожидания для интеграции был ограничен сверху десятью минутами, и это вовсе не бюджет стенда: пока стенд ждёт, он ничего не тратит. Ограничение обрезало ровно те вопросы, для которых интеграция и нужна, — разбор на пятнадцать минут возвращался отметкой «нужен специалист», пока ответ ещё писался. Нижняя граница осталась (пять секунд: меньше — уже не ожидание), верхняя снята, и тридцать минут теперь задаются настройкой, а не отвергаются.",
38
+ "Источник из правой рейки открывается сразу после ответа, а не только после перезагрузки страницы. Список источников собирается из тех же записей о работе инструментов, по которым стенд решает, можно ли открыть файл, — но путь в этом списке строился от каталога, заданного настройкой стенда, а доказательства чата считают пути от рабочего каталога самого чата. Пока это один и тот же каталог, разницы нет; как только они разные (разговор, начатый при прежней настройке, или каталог пользователя внутри общего рабочего каталога), один и тот же файл получал в панели второе написание, и панель просила стенд открыть именно его — а такого пути в доказательствах чата нет. В ответ на клик приходило «источник больше не входит в доказательства этого чата», хотя источник только что был в ответе, и тот же источник открывался после перезагрузки страницы — тогда список пересобирался уже по доказательствам стенда. Теперь список источников строится от рабочего каталога чата, от того же каталога, что и доказательства, поэтому источник открывается с первого клика, а отказ остался там, где он честный: файл, которого в доказательствах этого чата нет, панель по-прежнему не открывает.",
39
+ "Переход по ссылке /qa больше не заканчивается экраном «доступ закрыт». Адрес стенда открывает интерфейс не сам по себе: браузер должен предъявить одноразовый токен, по которому стенд выставляет входную куку, — иначе корневой вход закрыт, и вместо чата видно требование токена. Токен этот стенд получает от себя же, но запрашивал его только один раз за запуск и запоминал в том числе ответ «пока не готово»: если первый заход совпадал с запуском стенда, куку в этом браузере уже нельзя было получить до перезапуска, и выглядело это как случайный отказ. Теперь выданный токен по-прежнему запоминается, а неудачная попытка — нет: следующий переход по адресу стенда повторяет попытку и открывает интерфейс, а об одной и той же причине в журнал пишется одна строка, а не по строке на каждый заход.",
40
+ "Палитра слэш-команд больше не повторяет заголовок группы. Навыки и команды подбираются общим списком, и самым подходящим может оказаться запрос, где команда встаёт между двумя навыками: заголовок «Навыки» рисовался ещё раз после неё, и одна группа выглядела как две. Теперь у каждой группы ровно один заголовок: строки одного вида стоят подряд, порядок внутри группы прежний, а выше всех остаётся та группа, в которой оказался лучший ответ, — поэтому Enter по-прежнему выбирает строку, которая видна первой, а стрелки идут по списку так, как он нарисован.",
41
+ ],
42
+ },
43
+ ],
44
+ },
5
45
  {
6
46
  version: "0.11.1",
7
47
  date: "2026-09-22",
@@ -38,9 +78,7 @@ export const QA_CHANGELOG = [
38
78
  "Приложенный документ теперь разбирается целиком — и помощником, и панелью «Файлы». Загруженный файл стенд хранит в отдельном хранилище вложений, вне рабочего каталога чата, и читать его помощнику разрешено: путь к нему стоит в самом вопросе. Но инструменты работы с документами об этом хранилище не знали и отказывались открывать файл, который помощнику как раз разрешили прочитать, — просьба разобрать приложенный документ заканчивалась ответом «файла нет», хотя файл на месте, а приложенный документ Word нельзя было посмотреть в панели «Файлы». Теперь хранилище вложений передаётся этим инструментам так же, как его знает остальная часть стенда: документ разбирается по тому же пути, что пришёл в вопросе, а доступ к остальному содержимому хранилища не открывается — читается ровно один названный файл, и только на чтение. Доступ выдаётся тому чату, который его получил, вместе с его дочерними помощниками, и снимается вместе с чатом.",
39
79
  "Документ Word или PDF можно приложить к вопросу — раньше он отбивался прямо при перетаскивании. Список приложимых файлов был списком текстовых расширений: он так и назывался в настройках, и сообщение об отказе перечисляло свой набор «md, txt, log и другие», никак не связанный с настройкой стенда. Получалось несоответствие: стенд разбирает такие документы конвейером документов и показывает документ Word прямо в чате, а приложить его было нельзя. Теперь разрешённые расширения — это то, чем стенд действительно умеет работать: к текстовым файлам добавлены docx и pdf, а если формат всё-таки не разрешён, отказ называет само расширение и говорит, что список задаёт оператор стенда. Там, где список задан явно, он остаётся ровно таким, каким его задали, — добавление работает для стендов, которые полагаются на значения по умолчанию.",
40
80
  "Приложенный документ Word или PDF читается своим инструментом, а не универсальным чтением файла. Документ из вложения лежит на диске путём, и универсальное чтение отказывает таким форматам как бинарным — «cannot read …docx: binary file». Этот отказ ничего не говорит о том, есть ли файл на месте, но читался он именно так: агент решал, что документа нет, начинал искать его по рабочим каталогам и сообщал пользователю, что до файла не дотянуться, хотя конвейер документов всё это время был доступен. В разделе «Заметки модели» появилась заметка о документах: она называет инструменты конвейера (document_inspect, document_to_markdown, а для вложения по ссылке — document_from_url), говорит, что отказ универсального чтения на офисных форматах — это ожидаемый ответ, а не повод искать файл в другом месте, и что отказ самого конвейера нужно назвать вместе с путём, который он назвал. Заметка включается и переписывается своими словами, как и остальные, — стенду без конвейера документов её стоит выключить.",
41
- "Источник из правой рейки открывается сразу после ответа, а не только после перезагрузки страницы. Список источников собирается из тех же записей о работе инструментов, по которым стенд решает, можно ли открыть файл, — но путь в этом списке строился от каталога, заданного настройкой стенда, а доказательства чата считают пути от рабочего каталога самого чата. Пока это один и тот же каталог, разницы нет; как только они разные (разговор, начатый при прежней настройке, или каталог пользователя внутри общего рабочего каталога), один и тот же файл получал в панели второе написание, и панель просила стенд открыть именно его — а такого пути в доказательствах чата нет. В ответ на клик приходило «источник больше не входит в доказательства этого чата», хотя источник только что был в ответе, и тот же источник открывался после перезагрузки страницы — тогда список пересобирался уже по доказательствам стенда. Теперь список источников строится от рабочего каталога чата, от того же каталога, что и доказательства, поэтому источник открывается с первого клика, а отказ остался там, где он честный: файл, которого в доказательствах этого чата нет, панель по-прежнему не открывает.",
42
81
  "Список чатов показывает только ваши чаты. Обычно список собирался и из ваших разговоров, и из того, что этот браузер запомнил раньше, поэтому на общем компьютере — в переговорке, у стенда, за одной учётной записью Windows — в него попадали разговоры, начатые до вас: с их названиями, временем и значком работы помощника в момент, когда чужой разговор шёл. Теперь список — это ровно ваши чаты: чужой разговор в нём не появится, а разговор, начатый или открытый после входа, виден сразу, без перезагрузки страницы. На стенде без учётных записей ничего не изменилось: список по-прежнему ваш собственный. Имена фоновых помощников в плашках о завершении берутся только из ваших разговоров.",
43
- "Помощник снова может читать документацию стенда там, где она лежит. Поиск и чтение документации искали её строго в каталоге docs рабочего каталога чата. Пока документация лежала рядом с чатом, это работало; на стенде с личным каталогом у каждой учётной записи рабочий каталог чата — её собственный (внутри /workspace/work), а документация опубликована один раз, отдельно. Инструмент исправно отвечал «в рабочем каталоге этого чата нет каталога docs», хотя документация на стенде есть, и так было и в чате, и у каждого эксперта: путь к ней знали только файловые инструменты, которым путь называют явно. Теперь стенд называет корень документации настройкой (tools.docsRoot, на этом стенде — /workspace/docs), и оба инструмента читают ровно это дерево: те же пути в ответе, те же проверки (корень существует, это настоящий каталог, не ссылка; путь за пределы дерева отвергается). На стенде без личных каталогов ничего не изменилось — там по-прежнему ищется docs рядом с чатом. Инструменты, которые стенд выдал помощнику сам, больше не отказывают в чате с учётной записью. Поиск и чтение документации, диагностика набора инструментов и удаление файла в рабочем каталоге выданы помощнику стендом, а не ролью: их нет ни в одном списке роли, и роль не может их отозвать. Разрешение на вызов проверяют два уровня, и в чате с учётной записью про эти инструменты знал только один — второй строил границы разговора из списка стенда, инструментов роли и того, что роль может выдать по навыку, и выданных стендом инструментов там не находил. Получался отказ «инструмент вне профиля возможностей разговора», по которому невозможно понять, чего именно не хватает: инструмент виден помощнику, стенд его выдал, а вызов всё равно не проходит. Теперь границы разговора считают инструменты стенда так же, как это уже работало в чатах без учётных записей, а проверка профиля читает их из набора самого помощника. То, чего стенд помощнику не выдавал, остаётся за ролью: отказ на такой инструмент по-прежнему называет профиль, а не разговор.",
44
82
  ],
45
83
  },
46
84
  ],
@@ -86,6 +124,8 @@ export const QA_CHANGELOG = [
86
124
  "Вопрос, оставшийся до перезагрузки страницы, снова появляется после неё. Страница читает список вопросов чата сразу при его открытии и при каждом восстановлении связи, а не только пока идёт ход: раньше перезагрузка могла показать пустое поле ввода, за которым агент продолжал ждать ответа.",
87
125
  "Сбой при чтении персональных навыков одного аккаунта больше не прячет навыки у всех. Чтение каталога навыков, которому не повезло с файловой системой (отказ доступа, гонка чтения каталога), отдавало ошибку в реестр навыков харнесса, и тот в ответ переставал публиковать список доступных навыков целиком: модель получала «навык недоступен» на любое имя, включая навыки плагинов и корпоративные. Теперь такой сбой вырождается в «у этого аккаунта навыков не прочитано» и пишется в журнал событием skill.discover-failed, а остальной каталог продолжает публиковаться.",
88
126
  "Раздел «Общие возможности» в консоли администратора снова видит навыки и инструменты, которые монтирует агентский пресет. Список читался «глобально», а каталог навыков стенда и семейство инструментов пресета живут в области видимости пресета: администратор не видел ни корпоративных навыков поиска, ни инструментов пресета и не мог ничего из них выдать или отозвать. Теперь страница читает реестры глазами того пресета, под которым идут QA-чаты (задаётся session.agentPreset, на стенде это qa-research), а если пресет не удалось собрать — как и раньше остаётся глобальный вид, и страница не падает.",
127
+ "Стенд больше не принимает давно не открывавшийся разговор за удалённый: перед очисткой он сверяется и с долговременным хранилищем, а при неполном ответе ничего не удаляет.",
128
+ "После настоящего удаления разговора больше не остаются оценки, очередь на разбор и другие служебные записи; админка обновляет это состояние при открытии.",
89
129
  ],
90
130
  },
91
131
  {
@@ -93,12 +133,14 @@ export const QA_CHANGELOG = [
93
133
  items: [
94
134
  "Оператору стенда: настройка вопросов, которая ничего не делает, теперь видна в журнале и в карточке настроек. Если вопросы включены, а инструмент ask_user_question не входит в список разрешённых (lockdown.toolPolicy.allow), форма не появится никогда; если инструмент разрешён, а вопросы выключены, каждый запрос отклоняется. Оба случая пишут в журнал одно предупреждение question.config-incomplete на чат с указанием, какой половины не хватает, а в разделе «Состояние» появилась плашка «Вопросы модели» с тем же предупреждением — сам чат при этом открывается как обычно.",
95
135
  "Оператору стенда: в журнале появились события о ходе вопроса — запрос принят и ждёт ответа (question.claimed), ответ получен (question.answered), вопрос закрыт оператором (question.cancelled) или снят вместе с ходом (question.aborted), запрос отдан другому интерфейсу (question.delegated), ответ отклонён (question.refused). Текст ответа в журнал не попадает: только число вопросов и то, был ли среди ответов свободный текст.",
136
+ "Оператору стенда: разговоры из личных папок посетителей ожидаемо остаются в разделе Ungrouped. Для старых разговоров, чей каталог совпадает с рабочей областью, добавлена безопасная команда qa-attach-sessions с предварительным просмотром и резервной копией.",
96
137
  ],
97
138
  },
98
139
  {
99
140
  title: "Новое",
100
141
  items: [
101
142
  "В конфигурации стенда значение enabled для interaction.questions означает то же, что и interactive: включать вопросы модели стало можно любым из двух написаний.",
143
+ "Администратор может удалить разговор со стенда вместе со служебными сессиями, оценками, разбором и источниками. Удаление требует подтверждения, записывается в журнал действий и отказывается работать, если разговор ещё открыт или хранилище нельзя безопасно очистить.",
102
144
  ],
103
145
  },
104
146
  ],
@@ -109,10 +151,7 @@ export const QA_CHANGELOG = [
109
151
  sections: [
110
152
  {
111
153
  title: "Новое",
112
- items: [
113
- "Администратор может удалить разговор со стенда. Раньше удалить разговор было нечем: кнопка «Удалить чат» в списке убирает строку только в вашем браузере, и после перезагрузки чат возвращался, поэтому сломанные или ненужные разговоры оставались на стенде навсегда. На странице разговора в админке появилась кнопка «Удалить разговор»: она спрашивает подтверждение и удаляет сам разговор, его служебные сессии вместе с ним, оценки, разбор и собранные источники. В списке чатов кнопка осталась прежней — она по-прежнему скрывает строку только у вас.",
114
- "Удаление доступно только администратору и записывается в журнал действий. Если разговор сейчас открыт на стенде, удаление откажется работать — сначала нужно, чтобы стенд его отпустил, иначе разговор вернётся при следующей записи. Там, где стенд хранит журналы не файлами, удаление тоже недоступно, и об этом будет сказано прямо, а не сделано наполовину.",
115
- ],
154
+ items: [],
116
155
  },
117
156
  {
118
157
  title: "Исправления",
@@ -120,9 +159,6 @@ export const QA_CHANGELOG = [
120
159
  "Ответы агента стали заметно отзывчивее на загруженном стенде: раньше данные о том, какие документы и страницы агент прочитал, хранились в одном общем файле стенда, и каждый ход агента — включая ходы всех его помощников — переписывал этот файл целиком. Стоимость хода росла вместе со всей накопленной историей стенда: на реальных данных один ход стоил от 7 миллисекунд на небольшом стенде до 106 на большом, и всё это время сервер не отвечал никому из пользователей. Теперь данные каждого чата лежат отдельно, и ход переписывает только свой чат: на том же объёме — 4.2 миллисекунды вместо 106. Разбор ответа и панель источников работают как раньше.",
121
160
  "Открытие чата больше не переписывает все данные стенда. Список пользователей и записи о том, кому принадлежит какой чат, лежали в одном файле настроек, и он целиком перезаписывался при каждом действии — а записей становится на одну больше с каждым созданным чатом, так что со временем это становилось всё дороже. Теперь каждое действие записывает только своё изменение, и открытие чата стоит одинаково на стенде любого возраста.",
122
161
  "Удалённые чаты больше не копятся в консоли администратора. Запись о том, кому принадлежит чат, переживала сам чат: «удалить» в браузере лишь скрывало его, а серверный список возвращал обратно, поэтому в «Разговорах», в счётчиках и в аналитике навсегда оставались чаты, которых уже нет. Теперь при создании новых чатов стенд убирает записи о тех, которых больше нет на стенде, — и никогда не трогает записи существующих чатов, даже очень старых.",
123
- "Стенд больше не убирает записи о существующих чатах. Убирая из «Разговоров» чаты, которых нет, стенд спрашивал только о тех, что открывались после последнего запуска: чат, к которому сутки не обращались, выглядел как удалённый, и запись о нём исчезала — разговор пропадал из истории своего владельца, из счётчиков и из аналитики, хотя сам он был цел. Теперь стенд сверяется и с тем, что лежит в хранилище, а если ответить наверняка не может, не убирает ничего.",
124
- "Удалённый чат больше не оставляет после себя оценок и очереди на разбор. Оценки ответов, вердикты рецензентов и очередь на разбор хранились по идентификатору чата и переживали его: в «Обратной связи», в очереди и в аналитике оставались записи о разговоре, которого уже нет, а открыть его было нельзя. Теперь вместе с записью о владении убираются и они; журнал действий администраторов остаётся нетронутым.",
125
- "Админка показывает состояние на момент открытия: «Разговоры», счётчики и аналитика больше не ждут, пока кто-нибудь создаст новый чат, чтобы убрать из списка исчезнувшие.",
126
162
  "Файл настроек стенда стал в разы меньше: политика доступа каждого чата хранилась в нём отдельной копией, хотя у всех чатов она одна и та же. На одном стенде из 25 копий различными оказались две — эта часть уменьшилась без потери данных: каждый чат по-прежнему помнит именно тот набор возможностей, с которым был открыт.",
127
163
  "Обновление стенда до этой версии сохраняет все учётные записи, пароли и привязку чатов к пользователям: прежний файл настроек переносится автоматически при первом запуске, а сам файл не удаляется, а сохраняется рядом с пометкой о переносе.",
128
164
  ],
@@ -132,7 +168,6 @@ export const QA_CHANGELOG = [
132
168
  items: [
133
169
  "У хранения данных чатов появился предел: на чат сохраняются источники последних 200 ходов, на стенде — 500 последних чатов, а чат, к которому не обращались месяц, освобождает место. Это касается только служебных данных разбора: сам текст разговора не удаляется, старый чат открывается как раньше, но панель источников у него может быть пустой.",
134
170
  "Оператору стенда: пределы хранения настраиваются (сколько ходов и чатов держать, через сколько дней освобождать, как часто убирать записи о несуществующих чатах). Значения по умолчанию подобраны под обычную нагрузку, менять их не обязательно.",
135
- "Оператору стенда: в списке чатов DSH разговоры стенда показываются в разделе «Ungrouped». Так и должно быть при включённых личных папках посетителей: чат работает в своей папке внутри рабочей области, а список группирует только те чаты, чей рабочий каталог совпадает с рабочей областью целиком, и перенести чат в область задним числом нельзя. Исключение — чаты, созданные прежней настройкой, когда рабочий каталог задавался напрямую (или задавался тем же каталогом, но записанным иначе, например через прямые слэши): их можно вернуть в рабочую область командой qa-attach-sessions при остановленном стенде — она сначала показывает, что изменит, а с ключом --write вносит правку и сохраняет копию реестра рабочей области. На чаты посетителей с личными папками команда не влияет.",
136
171
  ],
137
172
  },
138
173
  {
@@ -452,6 +487,6 @@ export function QaChangelogModal(props) {
452
487
  return (_jsx(QaModal, { open: props.open, title: "\u0418\u0441\u0442\u043E\u0440\u0438\u044F \u0432\u0435\u0440\u0441\u0438\u0439", closeLabel: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0438\u0441\u0442\u043E\u0440\u0438\u044E \u0432\u0435\u0440\u0441\u0438\u0439", onClose: props.onClose,
453
488
  // The entries are full sentences; the shared panel width strands one or
454
489
  // two words on every second line.
455
- wide: true, children: QA_CHANGELOG.map((entry) => (_jsxs("section", { className: "dsh-qa-changelog__entry", children: [_jsxs("h3", { className: "dsh-qa-changelog__version", children: ["\u0412\u0435\u0440\u0441\u0438\u044F ", entry.version, _jsx("span", { className: "dsh-qa-changelog__date", children: entry.date }), entry.version === QA_VERSION ? (_jsx("span", { className: "dsh-qa-changelog__current", children: "\u0442\u0435\u043A\u0443\u0449\u0430\u044F" })) : null] }), entry.sections.map((section) => (_jsxs("div", { className: "dsh-qa-changelog__section", children: [_jsx("h4", { className: "dsh-qa-changelog__section-title", children: section.title }), _jsx("ul", { className: "dsh-qa-changelog__list", children: section.items.map((item) => (_jsx("li", { children: item }, item))) })] }, section.title)))] }, entry.version))) }));
490
+ wide: true, children: QA_CHANGELOG.map((entry) => (_jsxs("section", { className: "dsh-qa-changelog__entry", children: [_jsxs("h3", { className: "dsh-qa-changelog__version", children: ["\u0412\u0435\u0440\u0441\u0438\u044F ", entry.version, _jsx("span", { className: "dsh-qa-changelog__date", children: entry.date }), entry.version === QA_VERSION ? (_jsx("span", { className: "dsh-qa-changelog__current", children: "\u0442\u0435\u043A\u0443\u0449\u0430\u044F" })) : null] }), entry.sections.map((section, index) => (_jsxs("div", { className: "dsh-qa-changelog__section", children: [_jsx("h4", { className: "dsh-qa-changelog__section-title", children: section.title }), _jsx("ul", { className: "dsh-qa-changelog__list", children: section.items.map((item) => (_jsx("li", { children: item }, item))) })] }, `${section.title}:${index}`)))] }, entry.version))) }));
456
491
  }
457
492
  //# sourceMappingURL=QaChangelog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QaChangelog.js","sourceRoot":"","sources":["../../../src/client/components/QaChangelog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QaChangelog.js","sourceRoot":"","sources":["../../../src/client/components/QaChangelog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAWvC,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAW7C,MAAM,CAAC,MAAM,YAAY,GAAgC;IACvD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE;oBACL,2xBAA2xB;iBAC5xB;aACF;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,qgBAAqgB;oBACrgB,0QAA0Q;oBAC1Q,4cAA4c;oBAC5c,uSAAuS;oBACvS,m/BAAm/B;oBACn/B,gYAAgY;iBACjY;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,+8BAA+8B;oBAC/8B,shCAAshC;oBACthC,wfAAwf;oBACxf,ypCAAypC;oBACzpC,0xBAA0xB;oBAC1xB,6iBAA6iB;iBAC9iB;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,ukBAAukB;oBACvkB,6bAA6b;oBAC7b,qLAAqL;iBACtL;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE;oBACL,klBAAklB;oBACllB,20DAA20D;oBAC30D,g8BAAg8B;oBACh8B,2sBAA2sB;oBAC3sB,0lCAA0lC;oBAC1lC,8kDAA8kD;oBAC9kD,+uBAA+uB;iBAChvB;aACF;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,26BAA26B;oBAC36B,m0BAAm0B;oBACn0B,++BAA++B;oBAC/+B,8qBAA8qB;iBAC/qB;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,gvBAAgvB;iBACjvB;aACF;YACD;gBACE,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE;oBACL,qwBAAqwB;oBACrwB,qoBAAqoB;oBACroB,siBAAsiB;oBACtiB,8kBAA8kB;oBAC9kB,u5CAAu5C;oBACv5C,qrBAAqrB;iBACtrB;aACF;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE;oBACL,iOAAiO;iBAClO;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,olBAAolB;oBACplB,4jBAA4jB;oBAC5jB,mSAAmS;oBACnS,ojBAAojB;oBACpjB,wlBAAwlB;oBACxlB,6KAA6K;oBAC7K,2JAA2J;iBAC5J;aACF;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE;oBACL,4jBAA4jB;oBAC5jB,2aAA2a;oBAC3a,kQAAkQ;iBACnQ;aACF;YACD;gBACE,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE;oBACL,kKAAkK;oBAClK,2QAA2Q;iBAC5Q;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,EAAE;aACV;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,yoBAAyoB;oBACzoB,8aAA8a;oBAC9a,8bAA8b;oBAC9b,iUAAiU;oBACjU,iPAAiP;iBAClP;aACF;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE;oBACL,yVAAyV;oBACzV,oPAAoP;iBACrP;aACF;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,qnBAAqnB;oBACrnB,2VAA2V;oBAC3V,2dAA2d;oBAC3d,6fAA6f;oBAC7f,0jBAA0jB;oBAC1jB,oiBAAoiB;oBACpiB,mmBAAmmB;oBACnmB,ohCAAohC;oBACphC,gZAAgZ;oBAChZ,oxBAAoxB;oBACpxB,uzBAAuzB;oBACvzB,ihBAAihB;oBACjhB,qdAAqd;oBACrd,yZAAyZ;iBAC1Z;aACF;YACD;gBACE,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE;oBACL,6wBAA6wB;oBAC7wB,gjBAAgjB;oBAChjB,y1BAAy1B;oBACz1B,utBAAutB;iBACxtB;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,kbAAkb;iBACnb;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,ywBAAywB;iBAC1wB;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,0YAA0Y;oBAC1Y,+RAA+R;oBAC/R,yKAAyK;oBACzK,gKAAgK;oBAChK,qJAAqJ;oBACrJ,iKAAiK;oBACjK,sRAAsR;iBACvR;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,6eAA6e;iBAC9e;aACF;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE;oBACL,oXAAoX;iBACrX;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE;oBACL,qTAAqT;oBACrT,oSAAoS;oBACpS,sLAAsL;oBACtL,ycAAyc;oBACzc,qSAAqS;oBACrS,6YAA6Y;oBAC7Y,uOAAuO;oBACvO,mUAAmU;oBACnU,sKAAsK;oBACtK,mTAAmT;oBACnT,2dAA2d;oBAC3d,uRAAuR;oBACvR,ibAAib;oBACjb,oRAAoR;oBACpR,0NAA0N;oBAC1N,kNAAkN;oBAClN,4XAA4X;iBAC7X;aACF;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,4VAA4V;oBAC5V,4QAA4Q;iBAC7Q;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,+XAA+X;oBAC/X,4WAA4W;iBAC7W;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE;oBACL,yoBAAyoB;oBACzoB,oSAAoS;oBACpS,yzBAAyzB;oBACzzB,oQAAoQ;oBACpQ,+gBAA+gB;oBAC/gB,iXAAiX;oBACjX,sMAAsM;oBACtM,+mBAA+mB;oBAC/mB,6mBAA6mB;iBAC9mB;aACF;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,uVAAuV;oBACvV,qGAAqG;oBACrG,iNAAiN;oBACjN,2NAA2N;oBAC3N,8LAA8L;oBAC9L,sIAAsI;iBACvI;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE;oBACL,umBAAumB;oBACvmB,kaAAka;oBACla,ghBAAghB;oBAChhB,wWAAwW;oBACxW,wVAAwV;iBACzV;aACF;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,sPAAsP;oBACtP,mIAAmI;oBACnI,yKAAyK;iBAC1K;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE;oBACL,uOAAuO;oBACvO,2KAA2K;oBAC3K,qKAAqK;oBACrK,oJAAoJ;oBACpJ,gOAAgO;oBAChO,8GAA8G;oBAC9G,oRAAoR;oBACpR,2GAA2G;oBAC3G,mKAAmK;iBACpK;aACF;YACD;gBACE,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE;oBACL,+PAA+P;oBAC/P,oJAAoJ;iBACrJ;aACF;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,+KAA+K;iBAChL;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE;oBACL,uHAAuH;oBACvH,6IAA6I;oBAC7I,mFAAmF;oBACnF,qHAAqH;oBACrH,gEAAgE;iBACjE;aACF;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,wIAAwI;oBACxI,yFAAyF;oBACzF,oIAAoI;oBACpI,2IAA2I;oBAC3I,uHAAuH;oBACvH,uEAAuE;iBACxE;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE;oBACL,2HAA2H;oBAC3H,yHAAyH;oBACzH,4FAA4F;oBAC5F,gEAAgE;oBAChE,kGAAkG;oBAClG,+HAA+H;oBAC/H,yFAAyF;oBACzF,gEAAgE;iBACjE;aACF;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,uGAAuG;iBACxG;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,4EAA4E;iBAC7E;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE;oBACL,6HAA6H;oBAC7H,4FAA4F;oBAC5F,kGAAkG;oBAClG,6FAA6F;oBAC7F,uIAAuI;oBACvI,mEAAmE;oBACnE,gFAAgF;iBACjF;aACF;SACF;KACF;CACF,CAAC;AAQF;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAA4B;IAC3D,OAAO,CACL,KAAC,OAAO,IACN,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAC,iFAAgB,EACtB,UAAU,EAAC,4HAAwB,EACnC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,wEAAwE;QACxE,kCAAkC;QAClC,IAAI,kBAEH,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC3B,mBAA6B,SAAS,EAAC,yBAAyB,aAC9D,cAAI,SAAS,EAAC,2BAA2B,sDAC/B,KAAK,CAAC,OAAO,EACrB,eAAM,SAAS,EAAC,wBAAwB,YAAE,KAAK,CAAC,IAAI,GAAQ,EAC3D,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,CAC9B,eAAM,SAAS,EAAC,2BAA2B,2DAAe,CAC3D,CAAC,CAAC,CAAC,IAAI,IACL,EACJ,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CACtC,eAEE,SAAS,EAAC,2BAA2B,aAErC,aAAI,SAAS,EAAC,iCAAiC,YAC5C,OAAO,CAAC,KAAK,GACX,EACL,aAAI,SAAS,EAAC,wBAAwB,YACnC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC3B,uBAAgB,IAAI,IAAX,IAAI,CAAa,CAC3B,CAAC,GACC,KAVA,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,EAAE,CAW5B,CACP,CAAC,KAtBU,KAAK,CAAC,OAAO,CAuBjB,CACX,CAAC,GACM,CACX,CAAC;AACJ,CAAC"}
@@ -1,9 +1,11 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { memo, useRef, useState } from "react";
3
3
  import { isDelegatedSession } from "../lineage.js";
4
4
  import { QaAuditRowBadge } from "../audit/QaAuditRowBadge.js";
5
5
  import { auditMark } from "../audit/types.js";
6
+ import { QaSettingsButton } from "../user-settings/fields.js";
6
7
  import { QA_VERSION, QaChangelogModal } from "./QaChangelog.js";
8
+ import { QaModal } from "./QaModal.js";
7
9
  import { relativeTime } from "./format.js";
8
10
  import { QaSidebarHandle, useQaSidebarWidth } from "./QaWidthHandle.js";
9
11
  /**
@@ -142,13 +144,13 @@ export const QaSidebar = memo(function QaSidebar(props) {
142
144
  const visibleRows = normalizedQuery === ""
143
145
  ? props.rows
144
146
  : props.rows.filter((row) => rowMatches(row, normalizedQuery));
145
- const confirmingVisible = confirmingId !== null &&
146
- props.rows.some((row) => row.id === confirmingId);
147
+ const confirmingRow = confirmingId === null
148
+ ? undefined
149
+ : props.rows.find((row) => row.id === confirmingId);
147
150
  const sections = props.groupByOwner === true
148
151
  ? buildOwnerSections(visibleRows)
149
152
  : [{ name: "", rows: visibleRows }];
150
153
  const renderRow = (row) => {
151
- const confirming = confirmingVisible && confirmingId === row.id;
152
154
  return (_jsxs("div", { className: row.active
153
155
  ? "dsh-qa-sidebar__item dsh-qa-sidebar__item--active"
154
156
  : "dsh-qa-sidebar__item", children: [_jsxs("button", { type: "button", className: "dsh-qa-sidebar__item-main", "aria-current": row.active ? "true" : undefined, onClick: () => props.onSwitch(row.id), children: [_jsx("span", { className: "dsh-qa-sidebar__item-title", children: row.title }), _jsxs("span", { className: "dsh-qa-sidebar__item-meta", children: [row.running ? (_jsx("span", { className: "dsh-qa-sidebar__dot", role: "img", "aria-label": "\u0412\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F" })) : null, row.meta] })] }), props.onAudit === undefined
@@ -158,19 +160,15 @@ export const QaSidebar = memo(function QaSidebar(props) {
158
160
  if (mark === null)
159
161
  return null;
160
162
  return (_jsx(QaAuditRowBadge, { mark: mark, withDelete: props.onDelete !== undefined, onOpen: () => props.onAudit?.(row.id) }));
161
- })(), props.onDelete === undefined ? null : (_jsx("button", { type: "button", className: confirming
162
- ? "dsh-qa-sidebar__item-delete dsh-qa-sidebar__item-delete--confirm"
163
- : "dsh-qa-sidebar__item-delete", "aria-label": confirming ? "Подтвердить удаление чата" : "Удалить чат", title: confirming ? "Нажмите ещё раз для удаления" : "Удалить чат", onClick: () => {
164
- if (confirming) {
165
- setConfirmingId(null);
166
- props.onDelete?.(row.id);
167
- return;
168
- }
169
- setConfirmingId(row.id);
170
- }, children: confirming ? (_jsx("svg", { viewBox: "0 0 16 16", "aria-hidden": "true", children: _jsx("path", { d: "m3.5 8.5 3 3L12.5 5" }) })) : (_jsx("svg", { viewBox: "0 0 16 16", "aria-hidden": "true", children: _jsx("path", { d: "M2.5 4h11M6.5 4V2.5h3V4m-6.2 0 .6 9.5h7.2L12 4" }) })) }))] }, row.id));
163
+ })(), props.onDelete === undefined ? null : (_jsx("button", { type: "button", className: "dsh-qa-sidebar__item-delete", "aria-label": "\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0447\u0430\u0442", title: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0447\u0430\u0442", onClick: () => setConfirmingId(row.id), children: _jsx("svg", { viewBox: "0 0 16 16", "aria-hidden": "true", children: _jsx("path", { d: "M2.5 4h11M6.5 4V2.5h3V4m-6.2 0 .6 9.5h7.2L12 4" }) }) }))] }, row.id));
171
164
  };
172
165
  const brand = props.logoUrl === null ? (_jsx(DefaultMark, {})) : (_jsx("img", { src: props.logoUrl, alt: "" }));
173
- return (_jsxs("nav", { ref: nav, className: "dsh-qa-sidebar", "aria-label": "\u0418\u0441\u0442\u043E\u0440\u0438\u044F \u0447\u0430\u0442\u043E\u0432", children: [_jsxs("div", { className: "dsh-qa-sidebar__head", children: [_jsxs("span", { className: "dsh-qa-sidebar__brand", title: props.title, children: [_jsx("span", { className: "dsh-qa-sidebar__logo", children: brand }), _jsx("span", { className: "dsh-qa-sidebar__name", children: props.title })] }), _jsx("button", { type: "button", className: "dsh-qa-sidebar__collapse", "aria-label": "\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0438\u0441\u0442\u043E\u0440\u0438\u044E \u0447\u0430\u0442\u043E\u0432", title: "\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0438\u0441\u0442\u043E\u0440\u0438\u044E \u0447\u0430\u0442\u043E\u0432", onClick: toggleCollapsed, children: _jsx(ChevronIcon, {}) })] }), props.showNewChat ? (_jsx("div", { className: "dsh-qa-sidebar__newbar", children: _jsxs("button", { type: "button", className: "dsh-qa-sidebar__new", disabled: props.busy, onClick: props.onNewChat, children: [_jsx(PlusIcon, {}), "\u041D\u043E\u0432\u044B\u0439 \u0447\u0430\u0442"] }) })) : null, _jsxs("div", { className: "dsh-qa-sidebar__search", children: [_jsx(SearchIcon, {}), _jsx("input", { type: "search", value: query, placeholder: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0447\u0430\u0442\u0430\u043C", "aria-label": "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0447\u0430\u0442\u0430\u043C", onChange: (event) => setQuery(event.currentTarget.value) }), query === "" ? null : (_jsx("button", { type: "button", className: "dsh-qa-sidebar__search-clear", "aria-label": "\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u0438\u0441\u043A", title: "\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u0438\u0441\u043A", onClick: () => setQuery(""), children: _jsx(ClearIcon, {}) }))] }), _jsx("div", { className: "dsh-qa-sidebar__list", children: props.rows.length === 0 ? (_jsx("p", { className: "dsh-qa-sidebar__empty", children: "\u0417\u0434\u0435\u0441\u044C \u043F\u043E\u043A\u0430 \u043F\u0443\u0441\u0442\u043E" })) : visibleRows.length === 0 ? (_jsx("p", { className: "dsh-qa-sidebar__empty", children: "\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E" })) : (sections.map((section) => (_jsxs("div", { className: "dsh-qa-sidebar__group", children: [section.name === "" ? null : (_jsxs("div", { className: "dsh-qa-sidebar__group-name", children: [section.name, " (", section.rows.length, ")"] })), section.rows.map(renderRow)] }, section.name || "__all")))) }), _jsxs("div", { className: "dsh-qa-sidebar__footer", children: [props.account === undefined ? null : (_jsxs("div", { className: "dsh-qa-sidebar__account", title: `${props.account.email} (${props.account.role})`, children: [props.account.settings === undefined ? (_jsx("span", { className: "dsh-qa-sidebar__account-name", children: props.account.email })) : (_jsx("button", { type: "button", className: "dsh-qa-sidebar__account-name", "aria-haspopup": "dialog", title: "\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438", onClick: props.account.settings.onOpen, children: props.account.settings.label })), props.account.role === "admin" ? (_jsx("span", { className: "dsh-qa-sidebar__account-role", children: "admin" })) : null, _jsx("button", { type: "button", className: "dsh-qa-sidebar__account-exit", title: "\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0430", "aria-label": "\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0430", onClick: props.account.onLogout, children: _jsx("svg", { viewBox: "0 0 14 14", "aria-hidden": "true", children: _jsx("path", { d: "M8.5 2.5h3v9h-3M5.5 9.5 3 7l2.5-2.5M3 7h6" }) }) })] })), _jsxs("button", { type: "button", className: "dsh-qa-sidebar__version", "aria-haspopup": "dialog", title: "\u0418\u0441\u0442\u043E\u0440\u0438\u044F \u0432\u0435\u0440\u0441\u0438\u0439", onClick: () => setChangelogOpen(true), children: ["\u0412\u0435\u0440\u0441\u0438\u044F ", QA_VERSION] })] }), _jsx(QaSidebarHandle, { ...sidebarWidth }), _jsx(QaChangelogModal, { open: changelogOpen, onClose: () => setChangelogOpen(false) })] }));
166
+ return (_jsxs("nav", { ref: nav, className: "dsh-qa-sidebar", "aria-label": "\u0418\u0441\u0442\u043E\u0440\u0438\u044F \u0447\u0430\u0442\u043E\u0432", children: [_jsxs("div", { className: "dsh-qa-sidebar__head", children: [_jsxs("span", { className: "dsh-qa-sidebar__brand", title: props.title, children: [_jsx("span", { className: "dsh-qa-sidebar__logo", children: brand }), _jsx("span", { className: "dsh-qa-sidebar__name", children: props.title })] }), _jsx("button", { type: "button", className: "dsh-qa-sidebar__collapse", "aria-label": "\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0438\u0441\u0442\u043E\u0440\u0438\u044E \u0447\u0430\u0442\u043E\u0432", title: "\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0438\u0441\u0442\u043E\u0440\u0438\u044E \u0447\u0430\u0442\u043E\u0432", onClick: toggleCollapsed, children: _jsx(ChevronIcon, {}) })] }), props.showNewChat ? (_jsx("div", { className: "dsh-qa-sidebar__newbar", children: _jsxs("button", { type: "button", className: "dsh-qa-sidebar__new", disabled: props.busy, onClick: props.onNewChat, children: [_jsx(PlusIcon, {}), "\u041D\u043E\u0432\u044B\u0439 \u0447\u0430\u0442"] }) })) : null, _jsxs("div", { className: "dsh-qa-sidebar__search", children: [_jsx(SearchIcon, {}), _jsx("input", { type: "search", value: query, placeholder: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0447\u0430\u0442\u0430\u043C", "aria-label": "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0447\u0430\u0442\u0430\u043C", onChange: (event) => setQuery(event.currentTarget.value) }), query === "" ? null : (_jsx("button", { type: "button", className: "dsh-qa-sidebar__search-clear", "aria-label": "\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u0438\u0441\u043A", title: "\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u0438\u0441\u043A", onClick: () => setQuery(""), children: _jsx(ClearIcon, {}) }))] }), _jsx("div", { className: "dsh-qa-sidebar__list", children: props.rows.length === 0 ? (_jsx("p", { className: "dsh-qa-sidebar__empty", children: "\u0417\u0434\u0435\u0441\u044C \u043F\u043E\u043A\u0430 \u043F\u0443\u0441\u0442\u043E" })) : visibleRows.length === 0 ? (_jsx("p", { className: "dsh-qa-sidebar__empty", children: "\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E" })) : (sections.map((section) => (_jsxs("div", { className: "dsh-qa-sidebar__group", children: [section.name === "" ? null : (_jsxs("div", { className: "dsh-qa-sidebar__group-name", children: [section.name, " (", section.rows.length, ")"] })), section.rows.map(renderRow)] }, section.name || "__all")))) }), _jsxs("div", { className: "dsh-qa-sidebar__footer", children: [props.account === undefined ? null : (_jsxs("div", { className: "dsh-qa-sidebar__account", title: `${props.account.email} (${props.account.role})`, children: [props.account.settings === undefined ? (_jsx("span", { className: "dsh-qa-sidebar__account-name", children: props.account.email })) : (_jsx("button", { type: "button", className: "dsh-qa-sidebar__account-name", "aria-haspopup": "dialog", title: "\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438", onClick: props.account.settings.onOpen, children: props.account.settings.label })), props.account.role === "admin" ? (_jsx("span", { className: "dsh-qa-sidebar__account-role", children: "admin" })) : null, _jsx("button", { type: "button", className: "dsh-qa-sidebar__account-exit", title: "\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0430", "aria-label": "\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0430", onClick: props.account.onLogout, children: _jsx("svg", { viewBox: "0 0 14 14", "aria-hidden": "true", children: _jsx("path", { d: "M8.5 2.5h3v9h-3M5.5 9.5 3 7l2.5-2.5M3 7h6" }) }) })] })), _jsxs("button", { type: "button", className: "dsh-qa-sidebar__version", "aria-haspopup": "dialog", title: "\u0418\u0441\u0442\u043E\u0440\u0438\u044F \u0432\u0435\u0440\u0441\u0438\u0439", onClick: () => setChangelogOpen(true), children: ["\u0412\u0435\u0440\u0441\u0438\u044F ", QA_VERSION] })] }), _jsx(QaSidebarHandle, { ...sidebarWidth }), _jsx(QaChangelogModal, { open: changelogOpen, onClose: () => setChangelogOpen(false) }), _jsx(QaModal, { open: confirmingRow !== undefined, title: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0447\u0430\u0442", closeLabel: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0435 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u0447\u0430\u0442\u0430", onClose: () => setConfirmingId(null), footer: _jsxs(_Fragment, { children: [_jsx(QaSettingsButton, { label: "\u041E\u0442\u043C\u0435\u043D\u0430", onClick: () => setConfirmingId(null) }), _jsx(QaSettingsButton, { tone: "danger", label: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0437 \u0438\u0441\u0442\u043E\u0440\u0438\u0438", onClick: () => {
167
+ if (confirmingRow === undefined)
168
+ return;
169
+ setConfirmingId(null);
170
+ props.onDelete?.(confirmingRow.id);
171
+ } })] }), children: _jsxs("p", { className: "dsh-qa-settings__lead", children: ["\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0447\u0430\u0442 \u00AB", confirmingRow?.title ?? "Новый чат", "\u00BB \u0438\u0437 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u0432 \u044D\u0442\u043E\u043C \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435? \u0421\u0430\u043C \u0440\u0430\u0437\u0433\u043E\u0432\u043E\u0440 \u043E\u0441\u0442\u0430\u043D\u0435\u0442\u0441\u044F \u043D\u0430 \u0441\u0442\u0435\u043D\u0434\u0435."] }) })] }));
174
172
  }, (prev, next) => prev.title === next.title &&
175
173
  prev.logoUrl === next.logoUrl &&
176
174
  prev.stateKey === next.stateKey &&
@@ -1 +1 @@
1
- {"version":3,"file":"QaSidebar.js","sourceRoot":"","sources":["../../../src/client/components/QaSidebar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QaSidebar.js","sourceRoot":"","sources":["../../../src/client/components/QaSidebar.tsx"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
2
2
  import { CardShell, bindSettingsExternalStore, startVisibilityAwarePolling, } from "@yadsh/dsh-plugin-kit/client";
3
3
  import { useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore, } from "react";
4
4
  import { badgeText, isOverridden, mutationLanded, overriddenKeys, pluralRu, } from "./format.js";
5
- import { AccessSection, AttachmentsSection, AccountsSection, BrandingSection, EmbeddingSection, InterfaceSection, LockdownSection, NotesSection, SessionSection, SlashSection, SourcesSection, StatusSection, } from "./sections.js";
5
+ import { AccessSection, AttachmentsSection, AccountsSection, BrandingSection, DocsSection, EmbeddingSection, InterfaceSection, LockdownSection, NotesSection, SessionSection, SlashSection, SourcesSection, StatusSection, } from "./sections.js";
6
6
  const REFRESH_INTERVAL_MS = 5_000;
7
7
  /** Shown when a settled mutation left the configuration unchanged. */
8
8
  const REFUSED_MESSAGE = "Хост отклонил изменение: значение не сохранилось. Обычно так отвечает несовместимая комбинация полей — проверьте связанные значения этого раздела. Точную причину хост пишет в свой журнал.";
@@ -134,7 +134,7 @@ export function QaSettingsCard({ scope, describe }) {
134
134
  };
135
135
  return (_jsx(CardShell, { title: "\u041F\u043E\u043C\u043E\u0449\u043D\u0438\u043A QA", description: "\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 \u0438 \u043E\u0442\u0432\u0435\u0442\u043E\u0432 \u043D\u0430 \u0441\u0435\u0441\u0441\u0438\u044F\u0445 DeepSeek Harness: \u043C\u0430\u0440\u0448\u0440\u0443\u0442, \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u0435, \u0441\u0435\u0441\u0441\u0438\u044F, \u043F\u043E\u043B\u0438\u0442\u0438\u043A\u0430 \u0437\u0430\u043F\u0443\u0441\u043A\u0430, \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u044B \u0438 \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0438.", badge: _jsx("span", { className: "dsh-plugin-card__badge", children: badgeText(enabled, routePath) }), label: (open) => `${open ? "Скрыть" : "Показать"} настройки: Помощник QA`, bodyClassName: "qa-card-body", children: settings.status === "loading" ? (_jsx("p", { className: "qa-card-muted", children: "\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u044E \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043F\u043E\u043C\u043E\u0449\u043D\u0438\u043A\u0430\u2026" })) : (_jsxs(_Fragment, { children: [writeError !== null ? (_jsx("div", { className: "qa-card-error", children: writeError })) : null, hostError !== null ? (_jsx("div", { className: "qa-card-error", children: hostError })) : null, _jsx(StatusSection, { effective: effective, config: config, refreshing: refreshing, refreshedAt: refreshedAt, overrides: overrides.length, onRefresh: () => {
136
136
  void refresh();
137
- } }), _jsx(AccessSection, { ...sectionProps }), _jsx(BrandingSection, { ...sectionProps }), _jsx(SessionSection, { ...sectionProps }), _jsx(InterfaceSection, { ...sectionProps }), _jsx(LockdownSection, { ...sectionProps }), _jsx(SlashSection, { ...sectionProps }), _jsx(AccountsSection, { ...sectionProps }), _jsx(SourcesSection, { ...sectionProps }), _jsx(NotesSection, { ...sectionProps }), _jsx(AttachmentsSection, { ...sectionProps }), _jsx(EmbeddingSection, { ...sectionProps }), _jsxs("div", { className: "qa-card-footer", children: [_jsx("p", { className: "qa-card-footer-note", children: "\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0443\u0445\u043E\u0434\u044F\u0442 \u043D\u0430 \u0440\u0430\u0431\u043E\u0442\u0430\u044E\u0449\u0438\u0439 Host \u0441\u0440\u0430\u0437\u0443: \u043C\u0430\u0440\u0448\u0440\u0443\u0442 \u043F\u0435\u0440\u0435\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044F, \u043F\u043E\u043B\u0438\u0442\u0438\u043A\u0430 \u043F\u0440\u0438\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u043F\u0440\u0438 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0438 \u0441\u0435\u0441\u0441\u0438\u0438. \u041F\u0440\u0430\u0432\u043A\u0438 \u043B\u043E\u0436\u0430\u0442\u0441\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u043C \u0441\u043B\u043E\u0435\u043C \u043F\u043E\u0432\u0435\u0440\u0445 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0438\u0445 \u043C\u043E\u0436\u043D\u043E \u0441\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u2014 \u043D\u043E \u043D\u0435 \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435, \u0437\u0430\u0448\u0438\u0442\u043E\u0435 \u0432 \u0441\u0430\u043C\u043E\u043C \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u0438." }), overrides.length > 0 ? (_jsxs("button", { type: "button", className: "qa-card-btn", disabled: !writable, onClick: resetAll, children: ["\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C", " ", pluralRu(overrides.length, [
137
+ } }), _jsx(AccessSection, { ...sectionProps }), _jsx(BrandingSection, { ...sectionProps }), _jsx(SessionSection, { ...sectionProps }), _jsx(InterfaceSection, { ...sectionProps }), _jsx(LockdownSection, { ...sectionProps }), _jsx(SlashSection, { ...sectionProps }), _jsx(AccountsSection, { ...sectionProps }), _jsx(SourcesSection, { ...sectionProps }), _jsx(DocsSection, { ...sectionProps }), _jsx(NotesSection, { ...sectionProps }), _jsx(AttachmentsSection, { ...sectionProps }), _jsx(EmbeddingSection, { ...sectionProps }), _jsxs("div", { className: "qa-card-footer", children: [_jsx("p", { className: "qa-card-footer-note", children: "\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0443\u0445\u043E\u0434\u044F\u0442 \u043D\u0430 \u0440\u0430\u0431\u043E\u0442\u0430\u044E\u0449\u0438\u0439 Host \u0441\u0440\u0430\u0437\u0443: \u043C\u0430\u0440\u0448\u0440\u0443\u0442 \u043F\u0435\u0440\u0435\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044F, \u043F\u043E\u043B\u0438\u0442\u0438\u043A\u0430 \u043F\u0440\u0438\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u043F\u0440\u0438 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0438 \u0441\u0435\u0441\u0441\u0438\u0438. \u041F\u0440\u0430\u0432\u043A\u0438 \u043B\u043E\u0436\u0430\u0442\u0441\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u043C \u0441\u043B\u043E\u0435\u043C \u043F\u043E\u0432\u0435\u0440\u0445 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0438\u0445 \u043C\u043E\u0436\u043D\u043E \u0441\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u2014 \u043D\u043E \u043D\u0435 \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435, \u0437\u0430\u0448\u0438\u0442\u043E\u0435 \u0432 \u0441\u0430\u043C\u043E\u043C \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u0438." }), overrides.length > 0 ? (_jsxs("button", { type: "button", className: "qa-card-btn", disabled: !writable, onClick: resetAll, children: ["\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C", " ", pluralRu(overrides.length, [
138
138
  "переопределение",
139
139
  "переопределения",
140
140
  "переопределений",
@@ -1 +1 @@
1
- {"version":3,"file":"card.js","sourceRoot":"","sources":["../../../src/client/settings/card.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"card.js","sourceRoot":"","sources":["../../../src/client/settings/card.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * Documentation: which edition of the corpus a question is answered from.
4
+ *
5
+ * A published corpus carries several editions of the same module under
6
+ * `docs/<module>/<version>/…`, and a chat asked about "the product" reads
7
+ * whichever edition it meets first. A stand that knows which edition it is
8
+ * about names it here, and `docs_search` stays inside it unless the call itself
9
+ * names a `version` or narrows `path`. The switch keeps the value while turning
10
+ * the behaviour off, so a stand can stop defaulting without losing the version
11
+ * it configured.
12
+ */
13
+ import { Facts, Notice, Section, TextField, Toggle } from "../fields.js";
14
+ import { overriddenAny, resetAside, } from "./common.js";
15
+ const DOCS_PATHS = [
16
+ ["tools", "docsDefaultVersion"],
17
+ ["tools", "docsDefaultVersionEnabled"],
18
+ ];
19
+ /** The documentation corpus the QA tools read, and the edition they default to. */
20
+ export function DocsSection(props) {
21
+ const tools = props.config?.tools;
22
+ const version = (tools?.docsDefaultVersion ?? "").trim();
23
+ const enabled = tools?.docsDefaultVersionEnabled ?? false;
24
+ const disabled = !props.writable;
25
+ const paths = DOCS_PATHS;
26
+ const root = (props.effective?.tools.docsRoot ?? "").trim();
27
+ return (_jsxs(Section, { title: "\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044F", modified: overriddenAny(props, paths), aside: resetAside(props, paths), children: [_jsx("p", { className: "qa-card-muted", children: "\u041F\u043E\u0438\u0441\u043A \u0438 \u0447\u0442\u0435\u043D\u0438\u0435 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u0438 \u0445\u043E\u0434\u044F\u0442 \u043F\u043E \u043A\u043E\u0440\u043F\u0443\u0441\u0443 \u0441\u0442\u0435\u043D\u0434\u0430 \u2014 \u0434\u0435\u0440\u0435\u0432\u0443 docs/<\u043C\u043E\u0434\u0443\u043B\u044C>/<\u0432\u0435\u0440\u0441\u0438\u044F>/\u2026. \u041F\u043E\u0438\u0441\u043A \u043E\u0431\u0445\u043E\u0434\u0438\u0442 \u043C\u043E\u0434\u0443\u043B\u0438 \u0440\u0430\u043D\u044C\u0448\u0435 \u0441\u043B\u0443\u0436\u0435\u0431\u043D\u044B\u0445 \u043A\u0430\u0442\u0430\u043B\u043E\u0433\u043E\u0432 (\u0442\u0435\u0445, \u0447\u0442\u043E \u043D\u0430\u0447\u0438\u043D\u0430\u044E\u0442\u0441\u044F \u0441 \u043F\u043E\u0434\u0447\u0451\u0440\u043A\u0438\u0432\u0430\u043D\u0438\u044F), \u0430 \u0432 \u043A\u0430\u0436\u0434\u043E\u043C \u043F\u043E\u043F\u0430\u0434\u0430\u043D\u0438\u0438 \u043D\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u043C\u043E\u0434\u0443\u043B\u044C \u0438 \u0432\u0435\u0440\u0441\u0438\u044E \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430." }), _jsx(Toggle, { label: "\u0412\u0435\u0440\u0441\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E", hint: "\u041F\u043E\u0438\u0441\u043A, \u043A\u043E\u0442\u043E\u0440\u043E\u043C\u0443 \u043D\u0435 \u043D\u0430\u0437\u0432\u0430\u043B\u0438 \u0432\u0435\u0440\u0441\u0438\u044E \u0438 \u043D\u0435 \u0441\u0443\u0437\u0438\u043B\u0438 \u043F\u043E\u0434\u043A\u0430\u0442\u0430\u043B\u043E\u0433, \u043E\u0441\u0442\u0430\u0451\u0442\u0441\u044F \u0432\u043D\u0443\u0442\u0440\u0438 \u044D\u0442\u043E\u0439 \u0440\u0435\u0434\u0430\u043A\u0446\u0438\u0438 \u043A\u043E\u0440\u043F\u0443\u0441\u0430. \u042F\u0432\u043D\u044B\u0435 version \u0438\u043B\u0438 path \u0441\u0438\u043B\u044C\u043D\u0435\u0435: \u043E\u043D\u0438 \u0440\u0435\u0448\u0430\u044E\u0442 \u0441\u0430\u043C\u0438.", checked: enabled, disabled: disabled, onChange: (checked) => {
28
+ props.write(["tools", "docsDefaultVersionEnabled"], checked);
29
+ } }), _jsx(TextField, { label: "\u0412\u0435\u0440\u0441\u0438\u044F", value: tools?.docsDefaultVersion ?? "", disabled: disabled, placeholder: "3.8", hint: "\u041A\u0430\u043A \u0432 \u043F\u0443\u0442\u0438 \u043A \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0443: 3.8, v2, 2024.1. \u041F\u0443\u0441\u0442\u043E \u2014 \u0434\u0435\u0444\u043E\u043B\u0442\u0430 \u043D\u0435\u0442, \u043F\u043E\u0438\u0441\u043A \u0438\u0434\u0451\u0442 \u043F\u043E \u0432\u0441\u0435\u043C \u0440\u0435\u0434\u0430\u043A\u0446\u0438\u044F\u043C. \u0414\u0440\u0443\u0433\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 Host \u043E\u0442\u043A\u043B\u043E\u043D\u0438\u0442: \u0432\u0435\u0440\u0441\u0438\u044F, \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u043D\u0435\u0442 \u0432 \u0434\u0435\u0440\u0435\u0432\u0435, \u043E\u0442\u0432\u0435\u0447\u0430\u043B\u0430 \u0431\u044B \u00AB\u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430 \u043D\u0435\u0442\u00BB.", onChange: (value) => {
30
+ props.write(["tools", "docsDefaultVersion"], value);
31
+ } }), enabled && version === "" ? (_jsx(Notice, { tone: "warn", children: "\u0424\u043B\u0430\u0433 \u0432\u043A\u043B\u044E\u0447\u0451\u043D, \u0430 \u0432\u0435\u0440\u0441\u0438\u044F \u043D\u0435 \u0437\u0430\u0434\u0430\u043D\u0430: \u043F\u043E\u0438\u0441\u043A \u043F\u043E-\u043F\u0440\u0435\u0436\u043D\u0435\u043C\u0443 \u0438\u0434\u0451\u0442 \u043F\u043E \u0432\u0441\u0435\u043C \u0440\u0435\u0434\u0430\u043A\u0446\u0438\u044F\u043C \u043A\u043E\u0440\u043F\u0443\u0441\u0430." })) : null, props.effective === null ? null : (_jsx(Facts, { items: [
32
+ {
33
+ label: "Корень документации",
34
+ value: root === "" ? "docs/ рабочего каталога чата" : root,
35
+ note: root === ""
36
+ ? "развёртывание не назвало общий корпус"
37
+ : "tools.docsRoot развёртывания",
38
+ },
39
+ ] }))] }));
40
+ }
41
+ //# sourceMappingURL=docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../../../src/client/settings/sections/docs.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EACL,aAAa,EACb,UAAU,GAGX,MAAM,aAAa,CAAC;AAErB,MAAM,UAAU,GAAiB;IAC/B,CAAC,OAAO,EAAE,oBAAoB,CAAC;IAC/B,CAAC,OAAO,EAAE,2BAA2B,CAAC;CACvC,CAAC;AAEF,mFAAmF;AACnF,MAAM,UAAU,WAAW,CAAC,KAAkB;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;IAClC,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,KAAK,EAAE,yBAAyB,IAAI,KAAK,CAAC;IAC1D,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;IACjC,MAAM,KAAK,GAAiB,UAAU,CAAC;IACvC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,OAAO,CACL,MAAC,OAAO,IACN,KAAK,EAAC,0EAAc,EACpB,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,EACrC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,aAE/B,YAAG,SAAS,EAAC,eAAe,0oCAKxB,EACJ,KAAC,MAAM,IACL,KAAK,EAAC,0GAAqB,EAC3B,IAAI,EAAC,+qBAAmJ,EACxJ,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;oBACpB,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,2BAA2B,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC/D,CAAC,GACD,EACF,KAAC,SAAS,IACR,KAAK,EAAC,sCAAQ,EACd,KAAK,EAAE,KAAK,EAAE,kBAAkB,IAAI,EAAE,EACtC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAC,KAAK,EACjB,IAAI,EAAC,kzBAAuL,EAC5L,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,oBAAoB,CAAC,EAAE,KAAK,CAAC,CAAC;gBACtD,CAAC,GACD,EACD,OAAO,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAC3B,KAAC,MAAM,IAAC,IAAI,EAAC,MAAM,mbAGV,CACV,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACjC,KAAC,KAAK,IACJ,KAAK,EAAE;oBACL;wBACE,KAAK,EAAE,qBAAqB;wBAC5B,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,IAAI;wBAC1D,IAAI,EACF,IAAI,KAAK,EAAE;4BACT,CAAC,CAAC,uCAAuC;4BACzC,CAAC,CAAC,8BAA8B;qBACrC;iBACF,GACD,CACH,IACO,CACX,CAAC;AACJ,CAAC"}
@@ -14,6 +14,7 @@ export { AccessSection } from "./sections/access.js";
14
14
  export { AccountsSection } from "./sections/accounts.js";
15
15
  export { AttachmentsSection } from "./sections/attachments.js";
16
16
  export { BrandingSection } from "./sections/branding.js";
17
+ export { DocsSection } from "./sections/docs.js";
17
18
  export { EmbeddingSection } from "./sections/embedding.js";
18
19
  export { InterfaceSection } from "./sections/interface.js";
19
20
  export { LockdownSection } from "./sections/lockdown.js";
@@ -1 +1 @@
1
- {"version":3,"file":"sections.js","sourceRoot":"","sources":["../../../src/client/settings/sections.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"sections.js","sourceRoot":"","sources":["../../../src/client/settings/sections.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,19 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { memo } from "react";
3
+ import { groupPaletteRows } from "./palette-rows.js";
3
4
  const KIND_LABEL = Object.freeze({ skill: "Навык", command: "Команда" });
4
5
  const KIND_GROUP = Object.freeze({ skill: "Навыки", command: "Команды" });
5
- function groupRows(rows) {
6
- const groups = [];
7
- rows.forEach((entry, index) => {
8
- const tail = groups.at(-1);
9
- if (tail !== undefined && tail.kind === entry.kind) {
10
- tail.rows.push({ entry, index });
11
- return;
12
- }
13
- groups.push({ kind: entry.kind, rows: [{ entry, index }] });
14
- });
15
- return groups;
16
- }
17
6
  /**
18
7
  * The palette itself: a listbox over rows the composer has already filtered
19
8
  * and ranked. It owns no state — an empty list means "nothing matches", and
@@ -31,7 +20,9 @@ export const QaSlashPalette = memo(function QaSlashPalette(props) {
31
20
  : props.rows.length === 0
32
21
  ? "Ничего не найдено"
33
22
  : null;
34
- const groups = groupRows(props.rows);
23
+ // One group per kind, which is also what makes the keys below unique: the
24
+ // rows arrive in the grouped order, so a kind never reappears further down.
25
+ const groups = groupPaletteRows(props.rows);
35
26
  return (_jsxs("div", { className: "dsh-qa-slash", role: "listbox", id: `${props.idPrefix}-list`, "aria-label": "\u041D\u0430\u0432\u044B\u043A\u0438 \u0438 \u043A\u043E\u043C\u0430\u043D\u0434\u044B", children: [message === null ? null : (_jsx("p", { className: "dsh-qa-slash__empty", role: "presentation", children: message })), groups.map((group) => (_jsxs("div", { role: "group", "aria-label": KIND_GROUP[group.kind], className: "dsh-qa-slash__group", children: [_jsx("p", { className: "dsh-qa-slash__group-title", role: "presentation", children: KIND_GROUP[group.kind] }), group.rows.map(({ entry, index }) => {
36
27
  const selected = entry.id === props.activeId;
37
28
  return (_jsxs("div", { id: `${props.idPrefix}-option-${String(index)}`, role: "option", "aria-selected": selected, className: selected
@@ -1 +1 @@
1
- {"version":3,"file":"SlashPalette.js","sourceRoot":"","sources":["../../../src/client/slash/SlashPalette.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SlashPalette.js","sourceRoot":"","sources":["../../../src/client/slash/SlashPalette.tsx"],"names":[],"mappings":"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"}