@yadsh/dsh-qa-surface 0.15.1 → 0.15.3

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 (88) hide show
  1. package/lib/access/model.js +15 -0
  2. package/lib/access/model.js.map +1 -1
  3. package/lib/access/service.js +56 -16
  4. package/lib/access/service.js.map +1 -1
  5. package/lib/attestation.js.map +1 -1
  6. package/lib/client/QaAccountsController.js +3 -1
  7. package/lib/client/QaAccountsController.js.map +1 -1
  8. package/lib/client/QaSessionController.js +66 -18
  9. package/lib/client/QaSessionController.js.map +1 -1
  10. package/lib/client/QaSurface.js +64 -2
  11. package/lib/client/QaSurface.js.map +1 -1
  12. package/lib/client/QaTranscriptAdapter.js +46 -8
  13. package/lib/client/QaTranscriptAdapter.js.map +1 -1
  14. package/lib/client/admin/pages/Users.js +2 -2
  15. package/lib/client/admin/pages/Users.js.map +1 -1
  16. package/lib/client/attestation.js +13 -5
  17. package/lib/client/attestation.js.map +1 -1
  18. package/lib/client/chat-artifacts.js +94 -0
  19. package/lib/client/chat-artifacts.js.map +1 -0
  20. package/lib/client/chat-files.js +24 -14
  21. package/lib/client/chat-files.js.map +1 -1
  22. package/lib/client/clipboard.js +86 -0
  23. package/lib/client/clipboard.js.map +1 -0
  24. package/lib/client/components/QaAuthGate.js +41 -5
  25. package/lib/client/components/QaAuthGate.js.map +1 -1
  26. package/lib/client/components/QaChangelog.js +46 -0
  27. package/lib/client/components/QaChangelog.js.map +1 -1
  28. package/lib/client/components/QaFileAttachment.js +7 -5
  29. package/lib/client/components/QaFileAttachment.js.map +1 -1
  30. package/lib/client/components/QaFilesPanel.js +7 -3
  31. package/lib/client/components/QaFilesPanel.js.map +1 -1
  32. package/lib/client/components/QaMessage.js +27 -24
  33. package/lib/client/components/QaMessage.js.map +1 -1
  34. package/lib/client/components/QaWorkspaceBrowser.js +18 -25
  35. package/lib/client/components/QaWorkspaceBrowser.js.map +1 -1
  36. package/lib/client/components/copy-hint.js +10 -0
  37. package/lib/client/components/copy-hint.js.map +1 -0
  38. package/lib/client/markdown/CodeBlock.js +6 -13
  39. package/lib/client/markdown/CodeBlock.js.map +1 -1
  40. package/lib/client/project-session-state.js +1 -0
  41. package/lib/client/project-session-state.js.map +1 -1
  42. package/lib/client/settings/styles.js +1 -1
  43. package/lib/client/styles.js +11 -4
  44. package/lib/client/styles.js.map +1 -1
  45. package/lib/client/user-settings/IntegrationTokensPage.js +4 -12
  46. package/lib/client/user-settings/IntegrationTokensPage.js.map +1 -1
  47. package/lib/client/user-settings/PasswordSettingsPage.js +6 -1
  48. package/lib/client/user-settings/PasswordSettingsPage.js.map +1 -1
  49. package/lib/client/workspace-download.js +32 -0
  50. package/lib/client/workspace-download.js.map +1 -0
  51. package/lib/client/workspace-paths.js +55 -0
  52. package/lib/client/workspace-paths.js.map +1 -0
  53. package/lib/client.js +727 -253
  54. package/lib/client.js.map +1 -1
  55. package/lib/enforcement/skill-policy.js +2 -1
  56. package/lib/enforcement/skill-policy.js.map +1 -1
  57. package/lib/index.js +26 -10
  58. package/lib/index.js.map +1 -1
  59. package/lib/secure-session.js +36 -11
  60. package/lib/secure-session.js.map +1 -1
  61. package/lib/slash/catalog.js.map +1 -1
  62. package/lib/typert.host.js +75 -75
  63. package/lib/typert.remote-client.js +75 -75
  64. package/lib/types/access/model.d.ts +13 -0
  65. package/lib/types/access/service.d.ts +26 -0
  66. package/lib/types/attestation.d.ts +1 -1
  67. package/lib/types/client/QaAccountsController.d.ts +2 -0
  68. package/lib/types/client/QaSessionController.d.ts +13 -0
  69. package/lib/types/client/QaTranscriptAdapter.d.ts +6 -0
  70. package/lib/types/client/attestation.d.ts +7 -3
  71. package/lib/types/client/chat-artifacts.d.ts +10 -0
  72. package/lib/types/client/chat-files.d.ts +13 -8
  73. package/lib/types/client/clipboard.d.ts +37 -0
  74. package/lib/types/client/components/QaAuthGate.d.ts +4 -2
  75. package/lib/types/client/components/QaFileAttachment.d.ts +13 -4
  76. package/lib/types/client/components/QaFilesPanel.d.ts +15 -2
  77. package/lib/types/client/components/QaMessage.d.ts +10 -2
  78. package/lib/types/client/components/QaWorkspaceBrowser.d.ts +7 -1
  79. package/lib/types/client/components/copy-hint.d.ts +8 -0
  80. package/lib/types/client/project-session-state.d.ts +5 -0
  81. package/lib/types/client/workspace-download.d.ts +16 -0
  82. package/lib/types/client/workspace-paths.d.ts +25 -0
  83. package/lib/types/index.d.ts +6 -4
  84. package/lib/types/secure-session.d.ts +4 -0
  85. package/lib/types/slash/catalog.d.ts +5 -0
  86. package/lib/types/types.d.ts +26 -0
  87. package/locale/en.json +6 -0
  88. package/package.json +5 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../src/client/clipboard.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,18 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from "react";
3
+ import { QA_MIN_PASSWORD_LENGTH, accountsErrorMessage, } from "../QaAccountsController.js";
4
+ /** The Host's address shape, mirrored so the card refuses before the round trip. */
5
+ const EMAIL_PATTERN = /^[^\s@]+@[^\s@]+\.[^\s@]+$/u;
6
+ /** Own copy for input the browser would otherwise answer with its own English bubble. */
7
+ function refusalOf(email, password) {
8
+ if (!EMAIL_PATTERN.test(email.trim().toLowerCase())) {
9
+ return accountsErrorMessage("invalid-email");
10
+ }
11
+ if (password !== null && password.length < QA_MIN_PASSWORD_LENGTH) {
12
+ return accountsErrorMessage("weak-password");
13
+ }
14
+ return null;
15
+ }
3
16
  function Logo({ logoUrl }) {
4
17
  if (logoUrl !== null) {
5
18
  return (_jsx("img", { className: "dsh-qa-auth__logo", "data-testid": "qa-surface-auth-logo", src: logoUrl, alt: "" }));
@@ -9,7 +22,9 @@ function Logo({ logoUrl }) {
9
22
  /**
10
23
  * The full-frame login/registration card shown instead of the chat while the
11
24
  * deployment has accounts enabled and the browser holds no valid identity.
12
- * Errors are the Host's coarse codes rendered as audience-safe copy.
25
+ * Both halves of the error line are the surface's own copy: the card refuses
26
+ * mistyped input itself, and renders the Host's coarse codes in audience-safe
27
+ * words.
13
28
  */
14
29
  export function QaAuthGate(props) {
15
30
  const { snapshot, accounts } = props;
@@ -19,14 +34,20 @@ export function QaAuthGate(props) {
19
34
  const notice = gate?.notice ?? null;
20
35
  const [email, setEmail] = useState("");
21
36
  const [password, setPassword] = useState("");
37
+ const [refusal, setRefusal] = useState(null);
22
38
  const showRegister = props.allowRegistration;
23
39
  // The reset card is the same card with one field: the request only needs an
24
40
  // address, and asking for a password the user does not have would be absurd.
25
41
  const reset = mode === "reset";
42
+ const error = refusal ?? gate?.error ?? null;
26
43
  const submit = (event) => {
27
44
  event.preventDefault();
28
45
  if (busy)
29
46
  return;
47
+ const next = refusalOf(email, reset ? null : password);
48
+ setRefusal(next);
49
+ if (next !== null)
50
+ return;
30
51
  const operation = reset
31
52
  ? accounts.requestPasswordReset(email)
32
53
  : mode === "register"
@@ -34,16 +55,31 @@ export function QaAuthGate(props) {
34
55
  : accounts.login(email, password);
35
56
  void operation;
36
57
  };
37
- return (_jsx("main", { className: "dsh-qa-surface dsh-qa-auth", "data-testid": "qa-surface-auth", "aria-label": "\u0412\u0445\u043E\u0434 \u0432 \u043F\u043E\u043C\u043E\u0449\u043D\u0438\u043A", children: _jsxs("form", { className: "dsh-qa-auth__card", "data-testid": "qa-surface-auth-card", onSubmit: submit, children: [_jsxs("div", { className: "dsh-qa-auth__brand", "data-testid": "qa-surface-auth-brand", children: [_jsx(Logo, { logoUrl: props.logoUrl }), _jsx("h1", { "data-testid": "qa-surface-auth-title", children: props.title })] }), reset ? (_jsx("p", { className: "dsh-qa-auth__lead", "data-testid": "qa-surface-auth-lead", children: "\u0423\u043A\u0430\u0436\u0438\u0442\u0435 email: \u0437\u0430\u044F\u0432\u043A\u0443 \u0443\u0432\u0438\u0434\u0438\u0442 \u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440 \u0438 \u0441\u0431\u0440\u043E\u0441\u0438\u0442 \u043F\u0430\u0440\u043E\u043B\u044C. \u041F\u043E\u0447\u0442\u0430 \u0441 \u0441\u0441\u044B\u043B\u043A\u043E\u0439 \u043D\u0430 \u044D\u0442\u043E\u043C \u0441\u0442\u0435\u043D\u0434\u0435 \u043D\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u0430." })) : null, showRegister && !reset ? (_jsxs("div", { className: "dsh-qa-auth__tabs", "data-testid": "qa-surface-auth-tabs", role: "tablist", "aria-label": "\u0412\u0445\u043E\u0434 \u0438\u043B\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044F", children: [_jsx("button", { type: "button", role: "tab", "data-testid": "qa-surface-auth-tab-login", "aria-selected": mode === "login", className: mode === "login"
58
+ return (_jsx("main", { className: "dsh-qa-surface dsh-qa-auth", "data-testid": "qa-surface-auth", "aria-label": "\u0412\u0445\u043E\u0434 \u0432 \u043F\u043E\u043C\u043E\u0449\u043D\u0438\u043A", children: _jsxs("form", { className: "dsh-qa-auth__card", "data-testid": "qa-surface-auth-card", noValidate: true, onSubmit: submit, children: [_jsxs("div", { className: "dsh-qa-auth__brand", "data-testid": "qa-surface-auth-brand", children: [_jsx(Logo, { logoUrl: props.logoUrl }), _jsx("h1", { "data-testid": "qa-surface-auth-title", children: props.title })] }), reset ? (_jsx("p", { className: "dsh-qa-auth__lead", "data-testid": "qa-surface-auth-lead", children: "\u0423\u043A\u0430\u0436\u0438\u0442\u0435 email: \u0437\u0430\u044F\u0432\u043A\u0443 \u0443\u0432\u0438\u0434\u0438\u0442 \u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440 \u0438 \u0441\u0431\u0440\u043E\u0441\u0438\u0442 \u043F\u0430\u0440\u043E\u043B\u044C. \u041F\u043E\u0447\u0442\u0430 \u0441 \u0441\u0441\u044B\u043B\u043A\u043E\u0439 \u043D\u0430 \u044D\u0442\u043E\u043C \u0441\u0442\u0435\u043D\u0434\u0435 \u043D\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u0430." })) : null, showRegister && !reset ? (_jsxs("div", { className: "dsh-qa-auth__tabs", "data-testid": "qa-surface-auth-tabs", role: "tablist", "aria-label": "\u0412\u0445\u043E\u0434 \u0438\u043B\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044F", children: [_jsx("button", { type: "button", role: "tab", "data-testid": "qa-surface-auth-tab-login", "aria-selected": mode === "login", className: mode === "login"
38
59
  ? "dsh-qa-auth__tab dsh-qa-auth__tab--active"
39
- : "dsh-qa-auth__tab", onClick: () => accounts.setMode("login"), children: "\u0412\u0445\u043E\u0434" }), _jsx("button", { type: "button", role: "tab", "data-testid": "qa-surface-auth-tab-register", "aria-selected": mode === "register", className: mode === "register"
60
+ : "dsh-qa-auth__tab", onClick: () => {
61
+ setRefusal(null);
62
+ accounts.setMode("login");
63
+ }, children: "\u0412\u0445\u043E\u0434" }), _jsx("button", { type: "button", role: "tab", "data-testid": "qa-surface-auth-tab-register", "aria-selected": mode === "register", className: mode === "register"
40
64
  ? "dsh-qa-auth__tab dsh-qa-auth__tab--active"
41
- : "dsh-qa-auth__tab", onClick: () => accounts.setMode("register"), children: "\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044F" })] })) : null, _jsxs("label", { className: "dsh-qa-auth__field", "data-testid": "qa-surface-auth-email-field", children: [_jsx("span", { children: "Email" }), _jsx("input", { type: "email", name: "email", "data-testid": "qa-surface-auth-email", autoComplete: "email", required: true, disabled: busy, value: email, onChange: (event) => setEmail(event.currentTarget.value) })] }), reset ? null : (_jsxs("label", { className: "dsh-qa-auth__field", "data-testid": "qa-surface-auth-password-field", children: [_jsx("span", { children: "\u041F\u0430\u0440\u043E\u043B\u044C" }), _jsx("input", { type: "password", name: "password", "data-testid": "qa-surface-auth-password", autoComplete: mode === "register" ? "new-password" : "current-password", required: true, minLength: 8, disabled: busy, value: password, onChange: (event) => setPassword(event.currentTarget.value) })] })), gate !== undefined && gate.error !== null ? (_jsx("p", { className: "dsh-qa-auth__error", "data-testid": "qa-surface-auth-error", role: "alert", children: gate.error })) : null, notice === null ? null : (_jsx("p", { className: "dsh-qa-auth__notice", "data-testid": "qa-surface-auth-notice", role: "status", children: notice })), _jsx("button", { type: "submit", className: "dsh-qa-auth__submit", "data-testid": "qa-surface-auth-submit", disabled: busy, children: busy
65
+ : "dsh-qa-auth__tab", onClick: () => {
66
+ setRefusal(null);
67
+ accounts.setMode("register");
68
+ }, children: "\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044F" })] })) : null, _jsxs("label", { className: "dsh-qa-auth__field", "data-testid": "qa-surface-auth-email-field", children: [_jsx("span", { children: "Email" }), _jsx("input", { type: "email", name: "email", "data-testid": "qa-surface-auth-email", autoComplete: "email", required: true, disabled: busy, value: email, onChange: (event) => {
69
+ setRefusal(null);
70
+ setEmail(event.currentTarget.value);
71
+ } })] }), reset ? null : (_jsxs("label", { className: "dsh-qa-auth__field", "data-testid": "qa-surface-auth-password-field", children: [_jsx("span", { children: "\u041F\u0430\u0440\u043E\u043B\u044C" }), _jsx("input", { type: "password", name: "password", "data-testid": "qa-surface-auth-password", autoComplete: mode === "register" ? "new-password" : "current-password", required: true, minLength: QA_MIN_PASSWORD_LENGTH, disabled: busy, value: password, onChange: (event) => {
72
+ setRefusal(null);
73
+ setPassword(event.currentTarget.value);
74
+ } })] })), error === null ? null : (_jsx("p", { className: "dsh-qa-auth__error", "data-testid": "qa-surface-auth-error", role: "alert", children: error })), notice === null ? null : (_jsx("p", { className: "dsh-qa-auth__notice", "data-testid": "qa-surface-auth-notice", role: "status", children: notice })), _jsx("button", { type: "submit", className: "dsh-qa-auth__submit", "data-testid": "qa-surface-auth-submit", disabled: busy, children: busy
42
75
  ? "Подождите…"
43
76
  : reset
44
77
  ? "Отправить заявку"
45
78
  : mode === "register"
46
79
  ? "Зарегистрироваться"
47
- : "Войти" }), _jsx("button", { type: "button", className: "dsh-qa-auth__link", "data-testid": "qa-surface-auth-forgot", disabled: busy, onClick: () => accounts.setMode(reset ? "login" : "reset"), children: reset ? "Вернуться ко входу" : "Забыли пароль?" })] }) }));
80
+ : "Войти" }), _jsx("button", { type: "button", className: "dsh-qa-auth__link", "data-testid": "qa-surface-auth-forgot", disabled: busy, onClick: () => {
81
+ setRefusal(null);
82
+ accounts.setMode(reset ? "login" : "reset");
83
+ }, children: reset ? "Вернуться ко входу" : "Забыли пароль?" })] }) }));
48
84
  }
49
85
  //# sourceMappingURL=QaAuthGate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QaAuthGate.js","sourceRoot":"","sources":["../../../src/client/components/QaAuthGate.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QaAuthGate.js","sourceRoot":"","sources":["../../../src/client/components/QaAuthGate.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,52 @@ 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.15.3",
7
+ date: "2026-10-08",
8
+ sections: [
9
+ {
10
+ title: "Исправления",
11
+ items: [
12
+ "Палитра слэш-команд в чате, который ещё не начался, называет те же навыки, что и в чате, где уже шёл ответ. Пока за разговором не стоял живой агент, список строился по одному общему allow-list'у развёртывания и не сужался ролью: в него попадал навык, который в этом чате вызвать нельзя — имя подсвечивалось, Enter подставлял его в строку, а в ответ приходил отказ, — и наоборот, доступный навык мог не показаться. Теперь роль учитывается при обоих чтениях, а список, который палитра показывает, и список, которым проверяется введённая строка, выводятся из одного правила, поэтому предложение в палитре и возможность его вызвать больше не могут разойтись.",
13
+ ],
14
+ },
15
+ ],
16
+ },
17
+ {
18
+ version: "0.15.2",
19
+ date: "2026-10-07",
20
+ sections: [
21
+ {
22
+ title: "Исправления",
23
+ items: [
24
+ "Кнопка «Копировать» работает на стенде, открытом по http по адресу в локальной сети. Браузер доверяет буфер обмена только защищённым страницам, поэтому на таком стенде современного интерфейса буфера нет вовсе — и нажатие молчало: ни ошибки, ни отметки «Скопировано», ни текста в буфере, а проверка вставлялась пустой. Теперь поверхность сначала пробует буфер, а когда его нет, копирует через временное поле — этот путь доступен и на незащищённой странице. Так копируются код-блок в ответе, ответ целиком и значение интеграционного токена. Если браузер не отдал буфер ни одним путём, на месте кнопки появляется строка «Скопируйте вручную», а там, где кнопка осталась рабочей, та же строка встаёт рядом с ней после отказа: молчание больше не выглядит удачным копированием.",
25
+ "Палитра слэш-команд в чате, который ещё не начался, называет те же навыки, что и в чате, где уже шёл ответ. Пока за разговором не стоял живой агент, список строился по одному общему allow-list'у развёртывания и не сужался ролью: в него попадал навык, который в этом чате вызвать нельзя — имя подсвечивалось, Enter подставлял его в строку, а в ответ приходил отказ, — и наоборот, доступный навык мог не показаться. Теперь роль учитывается при обоих чтениях, а список, который палитра показывает, и список, которым проверяется введённая строка, выводятся из одного правила, поэтому предложение в палитре и возможность его вызвать больше не могут разойтись.",
26
+ ],
27
+ },
28
+ {
29
+ title: "Изменения",
30
+ items: [
31
+ "Ряд плагина на странице Plugins называется словами, а не спецификатором пакета. Хост берёт имя и описание ряда из `locale/en.json` — этот файл читается без активации плагина, — и без него подписывает ряд полным именем пакета: вместо «QA Surface» оператор читал `@yadsh/dsh-qa-surface`. То же предложение, что описывает ряд, карточка отвечает и как однострочник на случай, когда описания у ряда нет, — проверка сверяет пару с самим файлом, а не с копией строки в тесте, поэтому ряд не сможет описать одну страницу, открыв другую. Так названы ряды всех плагинов набора.",
32
+ "Страница настроек Prompt Firewall переехала на панель Plugins: её ряд открывает секцию конфигурации, и карточка больше не рисует свою рамку, заголовок и стрелку — их рисует страница. Раздел, который недоступен этому браузеру, отвечает предложением, а не пустой секцией. Страница Domain Experts села на ряд самого пакета и сняла собственный заголовок: панель уже подписывает пакет его именем и описанием.",
33
+ "Блоки отказа и опасные действия снова окрашены. Стили ссылались на имена токенов, которых у темы хоста нет (`--dsw-alias-bg-error`, `--dsw-alias-label-error`), а неизвестный `var(--dsw-…)` отбрасывает всю декларацию молча: фон становился прозрачным, цвет — унаследованным, и отказ на вкладке выглядел обычным мелким текстом. Теперь цвет берётся из `--dsw-alias-state-error-primary` с фолбэком, а каждая подстановка `--dsw-*` сверяется с самой темой (`pnpm verify:tokens`), поэтому список несуществующих имён не вырастет.",
34
+ ],
35
+ },
36
+ {
37
+ title: "Исправления",
38
+ items: [
39
+ "Отказ открыть чат называет причину. Дочерняя сессия субагента — кусок работы, делегированный из другого разговора, — раньше отвергалась теми же тремя словами, что и чат, за которым стенд не смог собрать агента: в консоли читалась подсказка про пресет, который никто не менял, а в журнале стенда на каждое обращение к чату падали две строки уровня ERROR, из-за чего день одного стенда выглядел как двенадцать одинаковых аварий. У этих двух случаев теперь разные лица: дочерняя сессия называется дочерней, и её строка идёт предупреждением — стенд ответил правильно про чужой разговор, и чинить нечего; чат же без агента остаётся ошибкой и в подсказке называет, куда смотреть и что делать (перемонтировать записанный пресет и открыть чат заново), а читателю тем временем остаётся переписка только для чтения и «Новый чат». Панель субагента перестала спрашивать у стенда источники дочерней сессии, которые тот по правилам не выдаёт: доказательства делегированного хода и так приходят в родительский чат, а экран читает их из самого транскрипта.",
40
+ ],
41
+ },
42
+ {
43
+ title: "Исправления",
44
+ items: [
45
+ "История чатов больше не наполняется пустыми. Вход на поверхность создавал разговор раньше, чем в него что-нибудь написали, и тот оставался в сайдбаре строкой «Новый чат»: шесть заходов одним и тем же аккаунтом — шесть одинаковых строк, а поиск по истории выдавал их вместо разговоров. Теперь разговор появляется вместе с первым отправленным сообщением: зашли, посмотрели, ушли — в истории ничего, и на стенде не осталось сессии, в которую никто не написал. Кнопка «Новый чат» пустой разговор не создавала и раньше; теперь так же ведёт себя и загрузка страницы.",
46
+ "Созданный по просьбе документ приходит файлом, а не строкой пути. Ответ на «сделай docx» был текстом: карточки под ответом не было, вкладка «Файлы» стояла с «нет вложений», а в тексте печатался путь контейнера вместе с идентификатором аккаунта — раскладка сервера в сообщении, которое на этом стенде может быть видно другим аккаунтом. Теперь под ответом лежит карточка созданного файла с предпросмотром и скачиванием, она же появляется в списке вложений чата, и карточка видна независимо от того, скрыта ли в настройках активность инструментов: файл, который попросили, — это не шум инструментов. Плагины документов сообщают путь файла внутри рабочего каталога чата (тем же написанием, которым этот файл потом снова открывается), а если абсолютный путь всё же попадает в текст ответа — из старого, уже сохранённого хода или собранный моделью из известного ей рабочего каталога, — интерфейс вычитает из него каталог аккаунта, и остаётся имя файла.",
47
+ ],
48
+ },
49
+ ],
50
+ },
5
51
  {
6
52
  version: "0.15.1",
7
53
  date: "2026-10-05",
@@ -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":"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"}
@@ -9,11 +9,13 @@ function badgeText(name) {
9
9
  : "FILE";
10
10
  }
11
11
  /**
12
- * One attached file: the extension badge, the name and the size. The browser
13
- * never re-reads these bytes (the Host attachment route serves images), so
14
- * both the composer card and the sent row show the same handle.
12
+ * One attached file: the extension badge, the name and the size. A sent
13
+ * attachment shows the handle the model resolved and the browser never
14
+ * re-reads its bytes; a file the turn produced is the same chip with the two
15
+ * controls that make it usable — open it, or take it away.
15
16
  */
16
- export function QaFileAttachment({ name, bytes, tone, onRemove, }) {
17
- return (_jsxs("span", { className: "dsh-qa-file", "data-testid": "qa-file", "data-tone": tone, title: name, children: [_jsx("span", { className: "dsh-qa-file__badge", "data-testid": "qa-file-badge", "aria-hidden": "true", children: badgeText(name) }), _jsxs("span", { className: "dsh-qa-file__text", children: [_jsx("span", { className: "dsh-qa-file__name", "data-testid": "qa-file-name", children: name }), _jsx("span", { className: "dsh-qa-file__meta", "data-testid": "qa-file-size", children: formatFileSize(bytes) })] }), onRemove === undefined ? null : (_jsx("button", { type: "button", "data-testid": "qa-file-remove", "aria-label": `Убрать ${name}`, title: "\u0423\u0431\u0440\u0430\u0442\u044C", onClick: onRemove, children: _jsx("svg", { viewBox: "0 0 16 16", "aria-hidden": "true", children: _jsx("path", { d: "m4 4 8 8m0-8-8 8" }) }) }))] }));
17
+ export function QaFileAttachment({ name, bytes, tone, onRemove, onOpen, onDownload, }) {
18
+ const text = (_jsxs("span", { className: "dsh-qa-file__text", children: [_jsx("span", { className: "dsh-qa-file__name", "data-testid": "qa-file-name", children: name }), _jsx("span", { className: "dsh-qa-file__meta", "data-testid": "qa-file-size", children: formatFileSize(bytes) })] }));
19
+ return (_jsxs("span", { className: "dsh-qa-file", "data-testid": "qa-file", "data-tone": tone, title: name, children: [_jsx("span", { className: "dsh-qa-file__badge", "data-testid": "qa-file-badge", "aria-hidden": "true", children: badgeText(name) }), onOpen === undefined ? (text) : (_jsx("button", { type: "button", className: "dsh-qa-file__open", "data-testid": "qa-file-open", "aria-label": `Открыть ${name}`, title: `Открыть ${name}`, onClick: onOpen, children: text })), onDownload === undefined ? null : (_jsx("button", { type: "button", className: "dsh-qa-file__download", "data-testid": "qa-file-download", "aria-label": `Скачать ${name}`, title: "\u0421\u043A\u0430\u0447\u0430\u0442\u044C", onClick: onDownload, children: "\u0421\u043A\u0430\u0447\u0430\u0442\u044C" })), onRemove === undefined ? null : (_jsx("button", { type: "button", "data-testid": "qa-file-remove", "aria-label": `Убрать ${name}`, title: "\u0423\u0431\u0440\u0430\u0442\u044C", onClick: onRemove, children: _jsx("svg", { viewBox: "0 0 16 16", "aria-hidden": "true", children: _jsx("path", { d: "m4 4 8 8m0-8-8 8" }) }) }))] }));
18
20
  }
19
21
  //# sourceMappingURL=QaFileAttachment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QaFileAttachment.js","sourceRoot":"","sources":["../../../src/client/components/QaFileAttachment.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,iFAAiF;AACjF,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACtD,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC;QAClD,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;QACzB,CAAC,CAAC,MAAM,CAAC;AACb,CAAC;AAUD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,QAAQ,GACc;IACtB,OAAO,CACL,gBACE,SAAS,EAAC,aAAa,iBACX,SAAS,eACV,IAAI,EACf,KAAK,EAAE,IAAI,aAEX,eACE,SAAS,EAAC,oBAAoB,iBAClB,eAAe,iBACf,MAAM,YAEjB,SAAS,CAAC,IAAI,CAAC,GACX,EACP,gBAAM,SAAS,EAAC,mBAAmB,aACjC,eAAM,SAAS,EAAC,mBAAmB,iBAAa,cAAc,YAC3D,IAAI,GACA,EACP,eAAM,SAAS,EAAC,mBAAmB,iBAAa,cAAc,YAC3D,cAAc,CAAC,KAAK,CAAC,GACjB,IACF,EACN,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC/B,iBACE,IAAI,EAAC,QAAQ,iBACD,gBAAgB,gBAChB,UAAU,IAAI,EAAE,EAC5B,KAAK,EAAC,sCAAQ,EACd,OAAO,EAAE,QAAQ,YAEjB,cAAK,OAAO,EAAC,WAAW,iBAAa,MAAM,YACzC,eAAM,CAAC,EAAC,kBAAkB,GAAG,GACzB,GACC,CACV,IACI,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"QaFileAttachment.js","sourceRoot":"","sources":["../../../src/client/components/QaFileAttachment.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,iFAAiF;AACjF,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACtD,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC;QAClD,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;QACzB,CAAC,CAAC,MAAM,CAAC;AACb,CAAC;AAkBD;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,UAAU,GACY;IACtB,MAAM,IAAI,GAAG,CACX,gBAAM,SAAS,EAAC,mBAAmB,aACjC,eAAM,SAAS,EAAC,mBAAmB,iBAAa,cAAc,YAC3D,IAAI,GACA,EACP,eAAM,SAAS,EAAC,mBAAmB,iBAAa,cAAc,YAC3D,cAAc,CAAC,KAAK,CAAC,GACjB,IACF,CACR,CAAC;IACF,OAAO,CACL,gBACE,SAAS,EAAC,aAAa,iBACX,SAAS,eACV,IAAI,EACf,KAAK,EAAE,IAAI,aAEX,eACE,SAAS,EAAC,oBAAoB,iBAClB,eAAe,iBACf,MAAM,YAEjB,SAAS,CAAC,IAAI,CAAC,GACX,EACN,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CACtB,IAAI,CACL,CAAC,CAAC,CAAC,CACF,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,mBAAmB,iBACjB,cAAc,gBACd,WAAW,IAAI,EAAE,EAC7B,KAAK,EAAE,WAAW,IAAI,EAAE,EACxB,OAAO,EAAE,MAAM,YAEd,IAAI,GACE,CACV,EACA,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACjC,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,uBAAuB,iBACrB,kBAAkB,gBAClB,WAAW,IAAI,EAAE,EAC7B,KAAK,EAAC,4CAAS,EACf,OAAO,EAAE,UAAU,2DAGZ,CACV,EACA,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC/B,iBACE,IAAI,EAAC,QAAQ,iBACD,gBAAgB,gBAChB,UAAU,IAAI,EAAE,EAC5B,KAAK,EAAC,sCAAQ,EACd,OAAO,EAAE,QAAQ,YAEjB,cAAK,OAAO,EAAC,WAAW,iBAAa,MAAM,YACzC,eAAM,CAAC,EAAC,kBAAkB,GAAG,GACzB,GACC,CACV,IACI,CACR,CAAC;AACJ,CAAC"}
@@ -36,8 +36,8 @@ function QaFileImage({ image, resolve, }) {
36
36
  * back, and the images are the same object URLs the message showed — while the
37
37
  * workspace section reads through the Host's fenced listing and file reads.
38
38
  */
39
- export function QaFilesPanel({ groups, resolveImage, onJumpToMessage, sessionId, api, }) {
40
- const workspace = sessionId === undefined || api === undefined ? null : (_jsxs("section", { className: "dsh-qa-files__workspace", "data-testid": "qa-files-workspace", children: [_jsx("h3", { children: _jsx("span", { children: "\u0420\u0430\u0431\u043E\u0447\u0438\u0439 \u043A\u0430\u0442\u0430\u043B\u043E\u0433" }) }), _jsx(QaWorkspaceBrowser, { sessionId: sessionId, api: api })] }));
39
+ export function QaFilesPanel({ groups, resolveImage, onJumpToMessage, onArtifactOpen, onArtifactDownload, openArtifact, sessionId, api, }) {
40
+ const workspace = sessionId === undefined || api === undefined ? null : (_jsxs("section", { className: "dsh-qa-files__workspace", "data-testid": "qa-files-workspace", children: [_jsx("h3", { children: _jsx("span", { children: "\u0420\u0430\u0431\u043E\u0447\u0438\u0439 \u043A\u0430\u0442\u0430\u043B\u043E\u0433" }) }), _jsx(QaWorkspaceBrowser, { sessionId: sessionId, api: api, initialFile: openArtifact?.path }, openArtifact?.stamp ?? "browse")] }));
41
41
  if (groups.length === 0) {
42
42
  return (_jsxs("div", { className: "dsh-qa-files", "data-testid": "qa-files-panel", children: [workspace, _jsx("p", { className: "dsh-qa-files__empty", "data-testid": "qa-files-empty", children: "\u0412 \u044D\u0442\u043E\u043C \u0447\u0430\u0442\u0435 \u043D\u0435\u0442 \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0439." })] }));
43
43
  }
@@ -45,7 +45,11 @@ export function QaFilesPanel({ groups, resolveImage, onJumpToMessage, sessionId,
45
45
  const time = group.timestamp === undefined
46
46
  ? "Вложенные файлы"
47
47
  : formatDayTime(group.timestamp);
48
- return (_jsxs("section", { className: "dsh-qa-files__group", "data-testid": "qa-files-group", children: [_jsxs("h3", { children: [_jsx("span", { "data-testid": "qa-files-group-time", children: time }), _jsx("button", { type: "button", className: "dsh-qa-files__jump", "data-testid": "qa-files-jump", "aria-label": `Перейти к сообщению от ${time}`, title: "\u041A \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044E", onClick: () => onJumpToMessage(group.messageId), children: _jsx("svg", { viewBox: "0 0 14 14", "aria-hidden": "true", children: _jsx("path", { d: "M3.5 7h7m-3-3.5L11 7l-3.5 3.5" }) }) })] }), _jsxs("div", { className: "dsh-qa-files__items", "data-testid": "qa-files-group-items", children: [group.files.map((file) => (_jsx(QaFileAttachment, { name: file.name, bytes: file.bytes, tone: "sent" }, file.attachmentId))), group.images.map((image) => resolveImage === undefined ? null : (_jsx(QaFileImage, { image: image, resolve: resolveImage }, image.attachmentId)))] })] }, group.messageId));
48
+ return (_jsxs("section", { className: "dsh-qa-files__group", "data-testid": "qa-files-group", children: [_jsxs("h3", { children: [_jsx("span", { "data-testid": "qa-files-group-time", children: time }), _jsx("button", { type: "button", className: "dsh-qa-files__jump", "data-testid": "qa-files-jump", "aria-label": `Перейти к сообщению от ${time}`, title: "\u041A \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044E", onClick: () => onJumpToMessage(group.messageId), children: _jsx("svg", { viewBox: "0 0 14 14", "aria-hidden": "true", children: _jsx("path", { d: "M3.5 7h7m-3-3.5L11 7l-3.5 3.5" }) }) })] }), _jsxs("div", { className: "dsh-qa-files__items", "data-testid": "qa-files-group-items", children: [group.files.map((file) => (_jsx(QaFileAttachment, { name: file.name, bytes: file.bytes, tone: "sent" }, file.attachmentId))), group.images.map((image) => resolveImage === undefined ? null : (_jsx(QaFileImage, { image: image, resolve: resolveImage }, image.attachmentId))), (group.artifacts ?? []).map((artifact) => (_jsx(QaFileAttachment, { name: artifact.name, bytes: artifact.bytes, tone: "sent", onOpen: onArtifactOpen === undefined
49
+ ? undefined
50
+ : () => onArtifactOpen(artifact), onDownload: onArtifactDownload === undefined
51
+ ? undefined
52
+ : () => onArtifactDownload(artifact) }, artifact.path)))] })] }, group.messageId));
49
53
  })] }));
50
54
  }
51
55
  //# sourceMappingURL=QaFilesPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QaFilesPanel.js","sourceRoot":"","sources":["../../../src/client/components/QaFilesPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QaFilesPanel.js","sourceRoot":"","sources":["../../../src/client/components/QaFilesPanel.tsx"],"names":[],"mappings":"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"}
@@ -46,6 +46,8 @@ function QaAttachedImage({ image, resolve, }) {
46
46
  return (_jsx("a", { href: url, target: "_blank", rel: "noreferrer", children: _jsx("img", { className: "dsh-qa-message__image", "data-testid": "qa-message-image", src: url, alt: "\u041F\u0440\u0438\u043A\u0440\u0435\u043F\u043B\u0451\u043D\u043D\u043E\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435" }) }));
47
47
  }
48
48
  import { FEEDBACK_REASON_LABELS } from "../admin/copy.js";
49
+ import { useCopyAction } from "../clipboard.js";
50
+ import { CopyHint } from "./copy-hint.js";
49
51
  import { formatDayTime, formatSeconds } from "./format.js";
50
52
  import { Markdown } from "./Markdown.js";
51
53
  import { QaWorkGroup } from "./QaWorkGroup.js";
@@ -73,6 +75,7 @@ export function sameMessage(a, b) {
73
75
  return false;
74
76
  if (a.role === "assistant" && b.role === "assistant") {
75
77
  return (sameSources(a.sources, b.sources) &&
78
+ sameArtifacts(a.artifacts, b.artifacts) &&
76
79
  (a.stats === undefined) === (b.stats === undefined) &&
77
80
  (a.stats === undefined ||
78
81
  b.stats === undefined ||
@@ -129,6 +132,16 @@ function sameFiles(a, b) {
129
132
  file.name === b[index].name &&
130
133
  file.bytes === b[index].bytes);
131
134
  }
135
+ function sameArtifacts(a, b) {
136
+ if (a === b)
137
+ return true;
138
+ if (a === undefined || b === undefined || a.length !== b.length)
139
+ return false;
140
+ return a.every((artifact, index) => artifact.path === b[index].path &&
141
+ artifact.name === b[index].name &&
142
+ artifact.format === b[index].format &&
143
+ artifact.bytes === b[index].bytes);
144
+ }
132
145
  const REASONS = [
133
146
  "incorrect",
134
147
  "instruction_not_followed",
@@ -200,9 +213,10 @@ function assistantMeta(message) {
200
213
  }
201
214
  return parts;
202
215
  }
203
- export const QaMessage = memo(function QaMessage({ message, renderMarkdown, showTimestamp, stateKey, onRegenerate, resolveImage, onOpenSources, onSourceDetail, thinkingPhrases, onRateFeedback, }) {
204
- const [copied, setCopied] = useState(false);
205
- const copiedTimer = useRef(undefined);
216
+ export const QaMessage = memo(function QaMessage({ message, renderMarkdown, showTimestamp, stateKey, onRegenerate, resolveImage, onOpenSources, onSourceDetail, onArtifactOpen, onArtifactDownload, thinkingPhrases, onRateFeedback, }) {
217
+ // A work row carries no copyable text; the footer action renders for the
218
+ // roles that have it.
219
+ const { copied, impossible: copyImpossible, refused: copyRefused, copy, } = useCopyAction(message.role === "work" ? "" : message.text);
206
220
  const [rating, setRating] = useState(null);
207
221
  // The negative flow asks why, once, without blocking the rating itself.
208
222
  const [askingWhy, setAskingWhy] = useState(false);
@@ -225,10 +239,6 @@ export const QaMessage = memo(function QaMessage({ message, renderMarkdown, show
225
239
  useEffect(() => {
226
240
  setRating(readRatings(stateKey)[message.id] ?? null);
227
241
  }, [stateKey, message.id]);
228
- useEffect(() => () => {
229
- if (copiedTimer.current !== undefined)
230
- clearTimeout(copiedTimer.current);
231
- }, []);
232
242
  if (message.role === "system" && message.command !== undefined) {
233
243
  // A human command never enters the model conversation, so this row is
234
244
  // the only place its life cycle is visible. It is a control line, not a
@@ -247,21 +257,6 @@ export const QaMessage = memo(function QaMessage({ message, renderMarkdown, show
247
257
  : message.role === "user"
248
258
  ? (message.author ?? "Вы")
249
259
  : "Статус";
250
- const copy = async () => {
251
- if (copied || navigator.clipboard?.writeText === undefined)
252
- return;
253
- try {
254
- await navigator.clipboard.writeText(message.text);
255
- setCopied(true);
256
- if (copiedTimer.current !== undefined)
257
- clearTimeout(copiedTimer.current);
258
- copiedTimer.current = setTimeout(() => setCopied(false), 1200);
259
- }
260
- catch {
261
- // Clipboard access may be denied by the embedding browser; keep the
262
- // action available for a later user gesture without surfacing noise.
263
- }
264
- };
265
260
  const persist = (next, detail) => {
266
261
  if (next === null || onRateFeedback === undefined)
267
262
  return;
@@ -299,10 +294,16 @@ export const QaMessage = memo(function QaMessage({ message, renderMarkdown, show
299
294
  const showActions = message.role !== "system" &&
300
295
  message.status !== "streaming" &&
301
296
  message.status !== "pending";
302
- return (_jsxs("article", { className: `dsh-qa-message dsh-qa-message--${message.role}`, "data-testid": "qa-message", "data-status": message.status, "aria-label": `Сообщение: ${label}`, children: [_jsxs("div", { className: "dsh-qa-message__content", "data-testid": "qa-message-content", children: [message.role === "user" && message.author !== undefined ? (_jsx("span", { className: "dsh-qa-message__byline", "data-testid": "qa-message-author", children: message.author })) : null, message.role === "user" && message.files !== undefined ? (_jsx("div", { className: "dsh-qa-message__files", "data-testid": "qa-message-files", "aria-label": "\u041F\u0440\u0438\u043A\u0440\u0435\u043F\u043B\u0451\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B", children: message.files.map((file) => (_jsx(QaFileAttachment, { name: file.name, bytes: file.bytes, tone: "sent" }, file.attachmentId))) })) : null, message.role === "user" && message.images !== undefined ? (_jsx("div", { className: "dsh-qa-message__images", "data-testid": "qa-message-images", children: message.images.map((image) => (_jsx(QaAttachedImage, { image: image, resolve: resolveImage }, image.attachmentId))) })) : null, message.role === "assistant" && renderMarkdown ? (_jsx(Markdown, { text: message.text, streaming: message.status === "streaming", sourceRefs: sourceRefs, onSourceOpen: onSourceDetail })) : (message.text), message.status === "streaming" ? (_jsx("span", { className: "dsh-qa-message__cursor", "aria-hidden": "true" })) : null] }), message.role === "user" && message.status === "pending" ? (_jsxs("span", { className: "dsh-qa-message__pending", "data-testid": "qa-message-pending", role: "status", children: [_jsx("span", { className: "dsh-qa-message__pending-spinner", "aria-hidden": "true" }), "\u041F\u043E\u0434\u0433\u043E\u0442\u0430\u0432\u043B\u0438\u0432\u0430\u044E \u043E\u0442\u0432\u0435\u0442\u2026"] })) : null, message.role === "assistant" &&
297
+ return (_jsxs("article", { className: `dsh-qa-message dsh-qa-message--${message.role}`, "data-testid": "qa-message", "data-status": message.status, "aria-label": `Сообщение: ${label}`, children: [_jsxs("div", { className: "dsh-qa-message__content", "data-testid": "qa-message-content", children: [message.role === "user" && message.author !== undefined ? (_jsx("span", { className: "dsh-qa-message__byline", "data-testid": "qa-message-author", children: message.author })) : null, message.role === "user" && message.files !== undefined ? (_jsx("div", { className: "dsh-qa-message__files", "data-testid": "qa-message-files", "aria-label": "\u041F\u0440\u0438\u043A\u0440\u0435\u043F\u043B\u0451\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B", children: message.files.map((file) => (_jsx(QaFileAttachment, { name: file.name, bytes: file.bytes, tone: "sent" }, file.attachmentId))) })) : null, message.role === "user" && message.images !== undefined ? (_jsx("div", { className: "dsh-qa-message__images", "data-testid": "qa-message-images", children: message.images.map((image) => (_jsx(QaAttachedImage, { image: image, resolve: resolveImage }, image.attachmentId))) })) : null, message.role === "assistant" && renderMarkdown ? (_jsx(Markdown, { text: message.text, streaming: message.status === "streaming", sourceRefs: sourceRefs, onSourceOpen: onSourceDetail })) : (message.text), message.role === "assistant" &&
298
+ message.artifacts !== undefined &&
299
+ message.artifacts.length > 0 ? (_jsx("div", { className: "dsh-qa-message__artifacts", "data-testid": "qa-message-artifacts", "aria-label": "\u0421\u043E\u0437\u0434\u0430\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B", children: message.artifacts.map((artifact) => (_jsx(QaFileAttachment, { name: artifact.name, bytes: artifact.bytes, tone: "sent", onOpen: onArtifactOpen === undefined
300
+ ? undefined
301
+ : () => onArtifactOpen(artifact), onDownload: onArtifactDownload === undefined
302
+ ? undefined
303
+ : () => onArtifactDownload(artifact) }, artifact.path))) })) : null, message.status === "streaming" ? (_jsx("span", { className: "dsh-qa-message__cursor", "aria-hidden": "true" })) : null] }), message.role === "user" && message.status === "pending" ? (_jsxs("span", { className: "dsh-qa-message__pending", "data-testid": "qa-message-pending", role: "status", children: [_jsx("span", { className: "dsh-qa-message__pending-spinner", "aria-hidden": "true" }), "\u041F\u043E\u0434\u0433\u043E\u0442\u0430\u0432\u043B\u0438\u0432\u0430\u044E \u043E\u0442\u0432\u0435\u0442\u2026"] })) : null, message.role === "assistant" &&
303
304
  onOpenSources !== undefined &&
304
305
  message.sources !== undefined &&
305
- message.sources.length > 0 ? (_jsxs("button", { type: "button", className: "dsh-qa-message__sources", "data-testid": "qa-message-sources", onClick: () => onOpenSources(message.sources ?? [], message.sourcesComplete ?? true, message.incompleteSourceOrigins), children: ["\u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0438 (", message.sources.length, ")"] })) : null, showActions ? (_jsxs("div", { className: "dsh-qa-message__actions", "data-testid": "qa-message-actions", "data-persistent": persistentMeta || undefined, children: [message.role === "user" ? meta : null, _jsx("button", { type: "button", "data-testid": "qa-message-copy", "aria-label": copied ? "Скопировано" : "Скопировать сообщение", title: copied ? "Скопировано" : "Копировать", onClick: () => void copy(), children: copied ? (_jsx("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: _jsx("path", { d: "m4.5 9.25 2.75 2.75 6.25-6.25" }) })) : (_jsxs("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: [_jsx("rect", { x: "6.25", y: "3.25", width: "8.5", height: "8.5", rx: "2" }), _jsx("path", { d: "M11.75 11.75v.5a2.5 2.5 0 0 1-2.5 2.5h-3.5a2.5 2.5 0 0 1-2.5-2.5v-3.5a2.5 2.5 0 0 1 2.5-2.5h.5" })] })) }), message.role === "user" ? null : (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", "data-testid": "qa-message-rate-up", "aria-label": "\u041D\u0440\u0430\u0432\u0438\u0442\u0441\u044F", title: "\u041D\u0440\u0430\u0432\u0438\u0442\u0441\u044F", "aria-pressed": rating === "up", "data-active": rating === "up" || undefined, onClick: () => toggleRating("up"), children: _jsx("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: _jsx("path", { d: "M5.25 8.25 8.1 2.9a1.3 1.3 0 0 1 2.4.75v3.1h3.1c.9 0 1.55.85 1.33 1.72l-1.05 4.2a1.75 1.75 0 0 1-1.7 1.33H5.25m0-5.75v5.75m0-5.75h-2v5.75h2" }) }) }), _jsx("button", { type: "button", "data-testid": "qa-message-rate-down", "aria-label": "\u041D\u0435 \u043D\u0440\u0430\u0432\u0438\u0442\u0441\u044F", title: "\u041D\u0435 \u043D\u0440\u0430\u0432\u0438\u0442\u0441\u044F", "aria-pressed": rating === "down", "data-active": rating === "down" || undefined, onClick: () => toggleRating("down"), children: _jsx("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: _jsx("path", { d: "M12.75 9.75 9.9 15.1a1.3 1.3 0 0 1-2.4-.75v-3.1H4.4a1.38 1.38 0 0 1-1.33-1.72l1.05-4.2A1.75 1.75 0 0 1 5.82 4h6.93m0 5.75V4m0 5.75h2V4h-2" }) }) }), onRegenerate === undefined ? null : (_jsx("button", { type: "button", "data-testid": "qa-message-regenerate", "aria-label": "\u041F\u0435\u0440\u0435\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C", title: "\u041F\u0435\u0440\u0435\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C", onClick: onRegenerate, children: _jsx("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: _jsx("path", { d: "M14.6 9A5.6 5.6 0 1 1 12.9 5l1.7 1.7m0-3.4v3.4h-3.4" }) }) }))] })), message.role === "user" ? null : meta] })) : null, askingWhy ? (_jsx(FeedbackReasonForm, { onSubmit: (reasons, comment) => {
306
+ message.sources.length > 0 ? (_jsxs("button", { type: "button", className: "dsh-qa-message__sources", "data-testid": "qa-message-sources", onClick: () => onOpenSources(message.sources ?? [], message.sourcesComplete ?? true, message.incompleteSourceOrigins), children: ["\u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0438 (", message.sources.length, ")"] })) : null, showActions ? (_jsxs("div", { className: "dsh-qa-message__actions", "data-testid": "qa-message-actions", "data-persistent": persistentMeta || undefined, children: [message.role === "user" ? meta : null, copyImpossible ? (_jsx(CopyHint, { testId: "qa-message-copy-hint" })) : (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", "data-testid": "qa-message-copy", "aria-label": copied ? "Скопировано" : "Скопировать сообщение", title: copied ? "Скопировано" : "Копировать", onClick: copy, children: copied ? (_jsx("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: _jsx("path", { d: "m4.5 9.25 2.75 2.75 6.25-6.25" }) })) : (_jsxs("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: [_jsx("rect", { x: "6.25", y: "3.25", width: "8.5", height: "8.5", rx: "2" }), _jsx("path", { d: "M11.75 11.75v.5a2.5 2.5 0 0 1-2.5 2.5h-3.5a2.5 2.5 0 0 1-2.5-2.5v-3.5a2.5 2.5 0 0 1 2.5-2.5h.5" })] })) }), copyRefused ? (_jsx(CopyHint, { testId: "qa-message-copy-hint" })) : null] })), message.role === "user" ? null : (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", "data-testid": "qa-message-rate-up", "aria-label": "\u041D\u0440\u0430\u0432\u0438\u0442\u0441\u044F", title: "\u041D\u0440\u0430\u0432\u0438\u0442\u0441\u044F", "aria-pressed": rating === "up", "data-active": rating === "up" || undefined, onClick: () => toggleRating("up"), children: _jsx("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: _jsx("path", { d: "M5.25 8.25 8.1 2.9a1.3 1.3 0 0 1 2.4.75v3.1h3.1c.9 0 1.55.85 1.33 1.72l-1.05 4.2a1.75 1.75 0 0 1-1.7 1.33H5.25m0-5.75v5.75m0-5.75h-2v5.75h2" }) }) }), _jsx("button", { type: "button", "data-testid": "qa-message-rate-down", "aria-label": "\u041D\u0435 \u043D\u0440\u0430\u0432\u0438\u0442\u0441\u044F", title: "\u041D\u0435 \u043D\u0440\u0430\u0432\u0438\u0442\u0441\u044F", "aria-pressed": rating === "down", "data-active": rating === "down" || undefined, onClick: () => toggleRating("down"), children: _jsx("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: _jsx("path", { d: "M12.75 9.75 9.9 15.1a1.3 1.3 0 0 1-2.4-.75v-3.1H4.4a1.38 1.38 0 0 1-1.33-1.72l1.05-4.2A1.75 1.75 0 0 1 5.82 4h6.93m0 5.75V4m0 5.75h2V4h-2" }) }) }), onRegenerate === undefined ? null : (_jsx("button", { type: "button", "data-testid": "qa-message-regenerate", "aria-label": "\u041F\u0435\u0440\u0435\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C", title: "\u041F\u0435\u0440\u0435\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C", onClick: onRegenerate, children: _jsx("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: _jsx("path", { d: "M14.6 9A5.6 5.6 0 1 1 12.9 5l1.7 1.7m0-3.4v3.4h-3.4" }) }) }))] })), message.role === "user" ? null : meta] })) : null, askingWhy ? (_jsx(FeedbackReasonForm, { onSubmit: (reasons, comment) => {
306
307
  setAskingWhy(false);
307
308
  persist("down", {
308
309
  ...(reasons.length === 0 ? {} : { reasons }),
@@ -319,6 +320,8 @@ export const QaMessage = memo(function QaMessage({ message, renderMarkdown, show
319
320
  prev.resolveImage === next.resolveImage &&
320
321
  prev.onOpenSources === next.onOpenSources &&
321
322
  prev.onSourceDetail === next.onSourceDetail &&
323
+ prev.onArtifactOpen === next.onArtifactOpen &&
324
+ prev.onArtifactDownload === next.onArtifactDownload &&
322
325
  prev.thinkingPhrases === next.thinkingPhrases &&
323
326
  sameMessage(prev.message, next.message));
324
327
  //# sourceMappingURL=QaMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QaMessage.js","sourceRoot":"","sources":["../../../src/client/components/QaMessage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QaMessage.js","sourceRoot":"","sources":["../../../src/client/components/QaMessage.tsx"],"names":[],"mappings":"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"}