@yadsh/dsh-qa-surface 0.19.0 → 0.21.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 (252) hide show
  1. package/README.md +235 -0
  2. package/lib/access/model-choices.js +103 -0
  3. package/lib/access/model-choices.js.map +1 -0
  4. package/lib/access/model-policy.js +79 -7
  5. package/lib/access/model-policy.js.map +1 -1
  6. package/lib/access/model.js +29 -1
  7. package/lib/access/model.js.map +1 -1
  8. package/lib/access/queue-policy.js +36 -0
  9. package/lib/access/queue-policy.js.map +1 -0
  10. package/lib/access/service.js +124 -7
  11. package/lib/access/service.js.map +1 -1
  12. package/lib/account-remotes.js +10 -1
  13. package/lib/account-remotes.js.map +1 -1
  14. package/lib/accounts/database.js +44 -3
  15. package/lib/accounts/database.js.map +1 -1
  16. package/lib/accounts/store.js +28 -0
  17. package/lib/accounts/store.js.map +1 -1
  18. package/lib/admin/service.js +6 -1
  19. package/lib/admin/service.js.map +1 -1
  20. package/lib/chat-sharing/transport.js +6 -2
  21. package/lib/chat-sharing/transport.js.map +1 -1
  22. package/lib/client/QaAccountsController.js +43 -8
  23. package/lib/client/QaAccountsController.js.map +1 -1
  24. package/lib/client/QaSessionController.js +55 -23
  25. package/lib/client/QaSessionController.js.map +1 -1
  26. package/lib/client/QaSurface.js +61 -3
  27. package/lib/client/QaSurface.js.map +1 -1
  28. package/lib/client/QaTranscriptAdapter.js +36 -1
  29. package/lib/client/QaTranscriptAdapter.js.map +1 -1
  30. package/lib/client/admin/ModelPolicyEditor.js +28 -2
  31. package/lib/client/admin/ModelPolicyEditor.js.map +1 -1
  32. package/lib/client/admin/RoleEditor.js +18 -1
  33. package/lib/client/admin/RoleEditor.js.map +1 -1
  34. package/lib/client/admin/pages/SkillFiles.js +1 -1
  35. package/lib/client/admin/pages/SkillFiles.js.map +1 -1
  36. package/lib/client/admin/pages/Users.js +36 -16
  37. package/lib/client/admin/pages/Users.js.map +1 -1
  38. package/lib/client/admin/styles.js +3 -0
  39. package/lib/client/admin/styles.js.map +1 -1
  40. package/lib/client/chat-artifacts.js +1 -0
  41. package/lib/client/chat-artifacts.js.map +1 -1
  42. package/lib/client/code-source-styles.js +12 -0
  43. package/lib/client/code-source-styles.js.map +1 -0
  44. package/lib/client/components/QaArtifactAttachment.js +12 -0
  45. package/lib/client/components/QaArtifactAttachment.js.map +1 -0
  46. package/lib/client/components/QaChangelog.js +94 -0
  47. package/lib/client/components/QaChangelog.js.map +1 -1
  48. package/lib/client/components/QaChatActions.js +36 -14
  49. package/lib/client/components/QaChatActions.js.map +1 -1
  50. package/lib/client/components/QaCodeSourcePicker.js +18 -0
  51. package/lib/client/components/QaCodeSourcePicker.js.map +1 -0
  52. package/lib/client/components/QaComposer.js +11 -12
  53. package/lib/client/components/QaComposer.js.map +1 -1
  54. package/lib/client/components/QaComposerSettings.js +202 -0
  55. package/lib/client/components/QaComposerSettings.js.map +1 -0
  56. package/lib/client/components/QaFilesPanel.js +2 -8
  57. package/lib/client/components/QaFilesPanel.js.map +1 -1
  58. package/lib/client/components/QaFormItem.js +74 -38
  59. package/lib/client/components/QaFormItem.js.map +1 -1
  60. package/lib/client/components/QaHistoryCatalog.js +261 -0
  61. package/lib/client/components/QaHistoryCatalog.js.map +1 -0
  62. package/lib/client/components/QaInputForm.js +115 -32
  63. package/lib/client/components/QaInputForm.js.map +1 -1
  64. package/lib/client/components/QaMessage.js +3 -8
  65. package/lib/client/components/QaMessage.js.map +1 -1
  66. package/lib/client/components/QaModelSelector.js +21 -0
  67. package/lib/client/components/QaModelSelector.js.map +1 -0
  68. package/lib/client/components/QaSidebar.js +25 -24
  69. package/lib/client/components/QaSidebar.js.map +1 -1
  70. package/lib/client/components/QaWorkGroup.js +1 -3
  71. package/lib/client/components/QaWorkGroup.js.map +1 -1
  72. package/lib/client/composer-settings-styles.js +21 -0
  73. package/lib/client/composer-settings-styles.js.map +1 -0
  74. package/lib/client/forms-styles.js +35 -11
  75. package/lib/client/forms-styles.js.map +1 -1
  76. package/lib/client/history-organization-styles.js +31 -0
  77. package/lib/client/history-organization-styles.js.map +1 -0
  78. package/lib/client/history-organization.js +155 -0
  79. package/lib/client/history-organization.js.map +1 -0
  80. package/lib/client/index.js +13 -4
  81. package/lib/client/index.js.map +1 -1
  82. package/lib/client/settings/card.js +2 -2
  83. package/lib/client/settings/card.js.map +1 -1
  84. package/lib/client/settings/sections/attachments.js +7 -1
  85. package/lib/client/settings/sections/attachments.js.map +1 -1
  86. package/lib/client/settings/sections/file-writes.js +15 -0
  87. package/lib/client/settings/sections/file-writes.js.map +1 -0
  88. package/lib/client/settings/sections/session.js +1 -1
  89. package/lib/client/settings/sections/session.js.map +1 -1
  90. package/lib/client/settings/sections.js +1 -0
  91. package/lib/client/settings/sections.js.map +1 -1
  92. package/lib/client/styles.js +18 -1
  93. package/lib/client/styles.js.map +1 -1
  94. package/lib/client/tool-presentation.js +21 -3
  95. package/lib/client/tool-presentation.js.map +1 -1
  96. package/lib/client/types.js.map +1 -1
  97. package/lib/client/use-chat-code-source.js +156 -0
  98. package/lib/client/use-chat-code-source.js.map +1 -0
  99. package/lib/client/use-history-organization.js +48 -0
  100. package/lib/client/use-history-organization.js.map +1 -0
  101. package/lib/client/use-model-selection.js +96 -0
  102. package/lib/client/use-model-selection.js.map +1 -0
  103. package/lib/client/use-qa-file-drop.js +81 -0
  104. package/lib/client/use-qa-file-drop.js.map +1 -0
  105. package/lib/client/user-settings/IntegrationTokensPage.js +42 -6
  106. package/lib/client/user-settings/IntegrationTokensPage.js.map +1 -1
  107. package/lib/client/user-settings/UserSettingsDialog.js +1 -1
  108. package/lib/client/user-settings/UserSettingsDialog.js.map +1 -1
  109. package/lib/client.js +125 -27
  110. package/lib/client.js.map +1 -1
  111. package/lib/code-source-selection.js +102 -0
  112. package/lib/code-source-selection.js.map +1 -0
  113. package/lib/config-resolvers/accounts.js +26 -1
  114. package/lib/config-resolvers/accounts.js.map +1 -1
  115. package/lib/config-resolvers/defaults.js +7 -0
  116. package/lib/config-resolvers/defaults.js.map +1 -1
  117. package/lib/config-resolvers/integration.js +8 -1
  118. package/lib/config-resolvers/integration.js.map +1 -1
  119. package/lib/config-resolvers/session.js +2 -0
  120. package/lib/config-resolvers/session.js.map +1 -1
  121. package/lib/config-resolvers/tools.js +2 -0
  122. package/lib/config-resolvers/tools.js.map +1 -1
  123. package/lib/config.js +77 -4
  124. package/lib/config.js.map +1 -1
  125. package/lib/enforcement/skill-policy.js +37 -2
  126. package/lib/enforcement/skill-policy.js.map +1 -1
  127. package/lib/forms/errors.js +6 -1
  128. package/lib/forms/errors.js.map +1 -1
  129. package/lib/forms/gate.js +28 -2
  130. package/lib/forms/gate.js.map +1 -1
  131. package/lib/forms/schema-errors.js +47 -0
  132. package/lib/forms/schema-errors.js.map +1 -0
  133. package/lib/forms/schema.js +29 -20
  134. package/lib/forms/schema.js.map +1 -1
  135. package/lib/index.js +161 -9
  136. package/lib/index.js.map +1 -1
  137. package/lib/integration/http.js +9 -10
  138. package/lib/integration/http.js.map +1 -1
  139. package/lib/integration/service.js +9 -0
  140. package/lib/integration/service.js.map +1 -1
  141. package/lib/personal-skills/provider.js +9 -1
  142. package/lib/personal-skills/provider.js.map +1 -1
  143. package/lib/personal-skills/service.js +4 -0
  144. package/lib/personal-skills/service.js.map +1 -1
  145. package/lib/personal-skills/shared-seed.js +65 -0
  146. package/lib/personal-skills/shared-seed.js.map +1 -0
  147. package/lib/prompt-notes.js +24 -2
  148. package/lib/prompt-notes.js.map +1 -1
  149. package/lib/provenance/collector.js +1 -0
  150. package/lib/provenance/collector.js.map +1 -1
  151. package/lib/provenance/extractors.js +6 -1
  152. package/lib/provenance/extractors.js.map +1 -1
  153. package/lib/qa-tools/catalog.js +33 -1
  154. package/lib/qa-tools/catalog.js.map +1 -1
  155. package/lib/qa-tools/code-files.js +207 -0
  156. package/lib/qa-tools/code-files.js.map +1 -0
  157. package/lib/qa-tools/code-tools.js +158 -0
  158. package/lib/qa-tools/code-tools.js.map +1 -0
  159. package/lib/qa-tools/docs-tools.js +49 -12
  160. package/lib/qa-tools/docs-tools.js.map +1 -1
  161. package/lib/qa-tools/file-write-gate.js +47 -0
  162. package/lib/qa-tools/file-write-gate.js.map +1 -0
  163. package/lib/qa-tools/index.js +10 -0
  164. package/lib/qa-tools/index.js.map +1 -1
  165. package/lib/qa-tools/request-user-form.js +26 -6
  166. package/lib/qa-tools/request-user-form.js.map +1 -1
  167. package/lib/qa-tools/subagent-tools.js +159 -0
  168. package/lib/qa-tools/subagent-tools.js.map +1 -0
  169. package/lib/request-scheduler.js +32 -5
  170. package/lib/request-scheduler.js.map +1 -1
  171. package/lib/resolve-config.js +9 -1
  172. package/lib/resolve-config.js.map +1 -1
  173. package/lib/secure-session.js +16 -4
  174. package/lib/secure-session.js.map +1 -1
  175. package/lib/session-model.js +43 -1
  176. package/lib/session-model.js.map +1 -1
  177. package/lib/shared/file-write-policy.js +29 -0
  178. package/lib/shared/file-write-policy.js.map +1 -0
  179. package/lib/shared/history-folder.js +18 -0
  180. package/lib/shared/history-folder.js.map +1 -0
  181. package/lib/typert.host.js +757 -162
  182. package/lib/typert.remote-client.d.ts +19 -7
  183. package/lib/typert.remote-client.js +688 -153
  184. package/lib/types/access/model-choices.d.ts +16 -0
  185. package/lib/types/access/model-policy.d.ts +13 -7
  186. package/lib/types/access/model.d.ts +9 -0
  187. package/lib/types/access/queue-policy.d.ts +30 -0
  188. package/lib/types/access/service.d.ts +27 -0
  189. package/lib/types/account-remotes.d.ts +5 -4
  190. package/lib/types/accounts/database.d.ts +5 -0
  191. package/lib/types/accounts/store.d.ts +6 -0
  192. package/lib/types/chat-sharing/transport.d.ts +1 -1
  193. package/lib/types/client/QaAccountsController.d.ts +3 -1
  194. package/lib/types/client/QaSessionController.d.ts +19 -5
  195. package/lib/types/client/QaSurface.d.ts +2 -0
  196. package/lib/types/client/admin/ModelPolicyEditor.d.ts +2 -0
  197. package/lib/types/client/code-source-styles.d.ts +2 -0
  198. package/lib/types/client/components/QaArtifactAttachment.d.ts +8 -0
  199. package/lib/types/client/components/QaChatActions.d.ts +3 -1
  200. package/lib/types/client/components/QaCodeSourcePicker.d.ts +9 -0
  201. package/lib/types/client/components/QaComposer.d.ts +2 -0
  202. package/lib/types/client/components/QaComposerSettings.d.ts +16 -0
  203. package/lib/types/client/components/QaFormItem.d.ts +4 -2
  204. package/lib/types/client/components/QaHistoryCatalog.d.ts +19 -0
  205. package/lib/types/client/components/QaInputForm.d.ts +3 -2
  206. package/lib/types/client/components/QaModelSelector.d.ts +4 -0
  207. package/lib/types/client/components/QaSidebar.d.ts +3 -0
  208. package/lib/types/client/composer-settings-styles.d.ts +2 -0
  209. package/lib/types/client/forms-styles.d.ts +1 -1
  210. package/lib/types/client/history-organization-styles.d.ts +3 -0
  211. package/lib/types/client/history-organization.d.ts +38 -0
  212. package/lib/types/client/settings/sections/file-writes.d.ts +4 -0
  213. package/lib/types/client/settings/sections.d.ts +1 -0
  214. package/lib/types/client/tool-presentation.d.ts +1 -0
  215. package/lib/types/client/types.d.ts +12 -4
  216. package/lib/types/client/use-chat-code-source.d.ts +20 -0
  217. package/lib/types/client/use-history-organization.d.ts +8 -0
  218. package/lib/types/client/use-model-selection.d.ts +24 -0
  219. package/lib/types/client/use-qa-file-drop.d.ts +12 -0
  220. package/lib/types/code-source-selection.d.ts +28 -0
  221. package/lib/types/code-sources.js +2 -0
  222. package/lib/types/code-sources.js.map +1 -0
  223. package/lib/types/config-resolvers/integration.d.ts +7 -1
  224. package/lib/types/forms/errors.d.ts +3 -2
  225. package/lib/types/forms/gate.d.ts +4 -2
  226. package/lib/types/forms/schema-errors.d.ts +7 -0
  227. package/lib/types/forms/types.d.ts +14 -0
  228. package/lib/types/index.d.ts +38 -5
  229. package/lib/types/integration/http.d.ts +1 -3
  230. package/lib/types/integration/service.d.ts +2 -0
  231. package/lib/types/personal-skills/shared-seed.d.ts +12 -0
  232. package/lib/types/prompt-notes.d.ts +6 -2
  233. package/lib/types/qa-tools/catalog.d.ts +5 -2
  234. package/lib/types/qa-tools/code-files.d.ts +59 -0
  235. package/lib/types/qa-tools/code-tools.d.ts +7 -0
  236. package/lib/types/qa-tools/docs-tools.d.ts +4 -0
  237. package/lib/types/qa-tools/file-write-gate.d.ts +6 -0
  238. package/lib/types/qa-tools/index.d.ts +3 -0
  239. package/lib/types/qa-tools/subagent-tools.d.ts +40 -0
  240. package/lib/types/request-scheduler.d.ts +21 -2
  241. package/lib/types/session-model.d.ts +11 -2
  242. package/lib/types/shared/file-write-policy.d.ts +10 -0
  243. package/lib/types/shared/history-folder.d.ts +4 -0
  244. package/lib/types/types/accounts.d.ts +11 -0
  245. package/lib/types/types/capability.d.ts +31 -4
  246. package/lib/types/types/code-sources.d.ts +12 -0
  247. package/lib/types/types/config.d.ts +23 -0
  248. package/lib/types/types/documents.d.ts +2 -0
  249. package/lib/types/types.d.ts +1 -0
  250. package/lib/user-workspace.js +7 -4
  251. package/lib/user-workspace.js.map +1 -1
  252. package/package.json +6 -5
@@ -1 +1 @@
1
- {"version":3,"file":"QaChatActions.js","sourceRoot":"","sources":["../../../src/client/components/QaChatActions.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QaChatActions.js","sourceRoot":"","sources":["../../../src/client/components/QaChatActions.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export function QaCodeSourcePicker(props) {
3
+ if (props.value.entries.length === 0 && !props.value.unavailable)
4
+ return null;
5
+ return (_jsxs("div", { className: "dsh-qa-code-source", "data-testid": "qa-code-source-picker", children: [_jsxs("label", { children: [_jsx("span", { children: "\u0412\u0435\u0440\u0441\u0438\u044F \u043A\u043E\u0434\u0430" }), _jsxs("select", { "aria-label": "\u0412\u0435\u0440\u0441\u0438\u044F \u043A\u043E\u0434\u0430", value: props.value.selectedSource ?? "", disabled: props.disabled || props.pending || !props.value.writable, onChange: (event) => {
6
+ void props.onSelect(event.currentTarget.value || null);
7
+ }, children: [_jsxs("option", { value: "", children: ["\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E", props.value.selectedSource === null &&
8
+ props.value.effectiveSource !== null
9
+ ? `: ${props.value.entries.find((entry) => entry.id === props.value.effectiveSource)?.label ?? props.value.effectiveSource}`
10
+ : ""] }), props.value.unavailable && props.value.selectedSource !== null ? (_jsxs("option", { value: props.value.selectedSource, disabled: true, children: ["\u041D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430: ", props.value.selectedSource] })) : null, props.value.entries.map((entry) => (_jsx("option", { value: entry.id, children: entry.label }, entry.id)))] })] }), _jsx("span", { role: "status", "aria-live": "polite", children: props.pending
11
+ ? "Обновляю выбор…"
12
+ : props.value.unavailable
13
+ ? "Источник удалён из настроек. Выберите другую версию."
14
+ : props.value.effectiveSource === null
15
+ ? "Выберите версию перед отправкой."
16
+ : "" }), props.error === null ? null : _jsx("span", { role: "alert", children: props.error })] }));
17
+ }
18
+ //# sourceMappingURL=QaCodeSourcePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QaCodeSourcePicker.js","sourceRoot":"","sources":["../../../src/client/components/QaCodeSourcePicker.tsx"],"names":[],"mappings":";AAEA,MAAM,UAAU,kBAAkB,CAAC,KAMlC;IACC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9E,OAAO,CACL,eAAK,SAAS,EAAC,oBAAoB,iBAAa,uBAAuB,aACrE,4BACE,2FAAwB,EACxB,gCACa,+DAAa,EACxB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,EACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAClE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;4BAClB,KAAK,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;wBACzD,CAAC,aAED,kBAAQ,KAAK,EAAC,EAAE,oFAEb,KAAK,CAAC,KAAK,CAAC,cAAc,KAAK,IAAI;wCACpC,KAAK,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI;wCAClC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE;wCAC5H,CAAC,CAAC,EAAE,IACC,EACR,KAAK,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,CAChE,kBAAQ,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,qFACpC,KAAK,CAAC,KAAK,CAAC,cAAc,IAChC,CACV,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAClC,iBAAuB,KAAK,EAAE,KAAK,CAAC,EAAE,YACnC,KAAK,CAAC,KAAK,IADD,KAAK,CAAC,EAAE,CAEZ,CACV,CAAC,IACK,IACH,EACR,eAAM,IAAI,EAAC,QAAQ,eAAW,QAAQ,YACnC,KAAK,CAAC,OAAO;oBACZ,CAAC,CAAC,iBAAiB;oBACnB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW;wBACvB,CAAC,CAAC,sDAAsD;wBACxD,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI;4BACpC,CAAC,CAAC,kCAAkC;4BACpC,CAAC,CAAC,EAAE,GACL,EACN,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAM,IAAI,EAAC,OAAO,YAAE,KAAK,CAAC,KAAK,GAAQ,IAClE,CACP,CAAC;AACJ,CAAC"}
@@ -5,6 +5,7 @@ import { QaSlashPalette } from "../slash/SlashPalette.js";
5
5
  import { useSlashNavigation } from "../slash/useSlashNavigation.js";
6
6
  import { QaFileAttachment } from "./QaFileAttachment.js";
7
7
  import { isQaModalOpen } from "./QaModal.js";
8
+ import { useQaFileDrop } from "../use-qa-file-drop.js";
8
9
  /** Stable id stem so `aria-activedescendant` can point at a palette row. */
9
10
  const SLASH_LIST_ID = "dsh-qa-slash";
10
11
  /**
@@ -124,6 +125,13 @@ export const QaComposer = memo(function QaComposer(props) {
124
125
  props.onAttachmentsChange([...attachments, ...drafts]);
125
126
  setAttachmentError(error);
126
127
  };
128
+ useQaFileDrop({
129
+ element: focusOwner,
130
+ fallback: true,
131
+ canDrop: () => props.canSend && !submitting && !isQaModalOpen(),
132
+ onFiles: (files) => void addFiles(files),
133
+ onActive: setDragOver,
134
+ });
127
135
  useEffect(() => {
128
136
  if (!props.running)
129
137
  focusComposer(textarea.current, focusOwner.current);
@@ -140,19 +148,10 @@ export const QaComposer = memo(function QaComposer(props) {
140
148
  element.style.height = `${String(Math.min(element.scrollHeight, 168))}px`;
141
149
  }, [draft]);
142
150
  const hasContent = draft.trim() !== "" || attachments.length > 0;
143
- const hint = submitting && files.length > 0
144
- ? "Отправляю вложения…"
145
- : (props.status ?? "Enter: отправить, Shift+Enter: новая строка");
151
+ const hint = submitting && files.length > 0 ? "Отправляю вложения…" : props.status;
146
152
  return (_jsxs("div", { ref: focusOwner, className: dragOver
147
153
  ? "dsh-qa-composer-wrap dsh-qa-composer-wrap--drag"
148
- : "dsh-qa-composer-wrap", "data-testid": "qa-composer-drop-zone", onDragOver: (event) => {
149
- event.preventDefault();
150
- setDragOver(true);
151
- }, onDragLeave: () => setDragOver(false), onDrop: (event) => {
152
- event.preventDefault();
153
- setDragOver(false);
154
- void addFiles([...event.dataTransfer.files]);
155
- }, children: [(props.quickQuestions?.length ?? 0) > 0 ? (_jsx("div", { className: "dsh-qa-quick-questions", "data-testid": "qa-composer-quick-questions", "aria-label": "\u0411\u044B\u0441\u0442\u0440\u044B\u0435 \u0432\u043E\u043F\u0440\u043E\u0441\u044B", children: props.quickQuestions?.map((question, index) => (_jsx("button", { type: "button", "data-testid": "qa-composer-quick-question", disabled: !props.canSend || submitting, onClick: () => void send(question.prompt), children: question.label }, index))) })) : null, navigation.open ? (_jsx(QaSlashPalette, { idPrefix: SLASH_LIST_ID, rows: navigation.rows, activeId: navigation.activeId, state: props.slash.state, error: props.slash.error, commandSurface: props.slash.commandSurface, showDescriptions: props.slashPolicy.showDescriptions, showKindBadge: props.slashPolicy.showKindBadge, onHover: navigation.hover, onPick: navigation.pick })) : null, _jsxs("div", { className: "dsh-qa-composer", "data-testid": "qa-composer", children: [files.length === 0 ? null : (_jsx("div", { className: "dsh-qa-composer__files", "data-testid": "qa-composer-files", "aria-label": "\u041F\u0440\u0438\u043A\u0440\u0435\u043F\u043B\u0451\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B", children: files.map((file) => (_jsx(QaFileAttachment, { name: file.name, bytes: file.bytes, tone: "draft", onRemove: () => {
154
+ : "dsh-qa-composer-wrap", "data-testid": "qa-composer-drop-zone", children: [(props.quickQuestions?.length ?? 0) > 0 ? (_jsx("div", { className: "dsh-qa-quick-questions", "data-testid": "qa-composer-quick-questions", "aria-label": "\u0411\u044B\u0441\u0442\u0440\u044B\u0435 \u0432\u043E\u043F\u0440\u043E\u0441\u044B", children: props.quickQuestions?.map((question, index) => (_jsx("button", { type: "button", "data-testid": "qa-composer-quick-question", disabled: !props.canSend || submitting, onClick: () => void send(question.prompt), children: question.label }, index))) })) : null, navigation.open ? (_jsx(QaSlashPalette, { idPrefix: SLASH_LIST_ID, rows: navigation.rows, activeId: navigation.activeId, state: props.slash.state, error: props.slash.error, commandSurface: props.slash.commandSurface, showDescriptions: props.slashPolicy.showDescriptions, showKindBadge: props.slashPolicy.showKindBadge, onHover: navigation.hover, onPick: navigation.pick })) : null, _jsxs("div", { className: "dsh-qa-composer", "data-testid": "qa-composer", children: [files.length === 0 ? null : (_jsx("div", { className: "dsh-qa-composer__files", "data-testid": "qa-composer-files", "aria-label": "\u041F\u0440\u0438\u043A\u0440\u0435\u043F\u043B\u0451\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B", children: files.map((file) => (_jsx(QaFileAttachment, { name: file.name, bytes: file.bytes, tone: "draft", onRemove: () => {
156
155
  remove(file.id);
157
156
  } }, file.id))) })), images.length === 0 ? null : (_jsx("div", { className: "dsh-qa-composer__images", "data-testid": "qa-composer-images", "aria-label": "\u041F\u0440\u0438\u043A\u0440\u0435\u043F\u043B\u0451\u043D\u043D\u044B\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F", children: images.map((image) => (_jsxs("span", { className: "dsh-qa-composer__image", "data-testid": "qa-composer-image", children: [_jsx("img", { src: image.previewUrl, alt: image.name }), _jsx("button", { type: "button", "data-testid": "qa-composer-image-remove", "aria-label": `Убрать ${image.name}`, title: "\u0423\u0431\u0440\u0430\u0442\u044C", onClick: () => {
158
157
  remove(image.id);
@@ -220,6 +219,6 @@ export const QaComposer = memo(function QaComposer(props) {
220
219
  } }), _jsxs("div", { className: "dsh-qa-composer__toolbar", children: [_jsx("input", { ref: fileInput, type: "file", "data-testid": "qa-composer-file-input", accept: attachmentAccept(limits), multiple: true, className: "dsh-qa-sr-only", tabIndex: -1, "aria-hidden": "true", onChange: (event) => {
221
220
  void addFiles([...(event.target.files ?? [])]);
222
221
  event.target.value = "";
223
- } }), _jsx("button", { type: "button", className: "dsh-qa-composer__attach", "data-testid": "qa-composer-attach", "aria-label": "\u041F\u0440\u0438\u043A\u0440\u0435\u043F\u0438\u0442\u044C \u0444\u0430\u0439\u043B", title: "\u041F\u0440\u0438\u043A\u0440\u0435\u043F\u0438\u0442\u044C \u0444\u0430\u0439\u043B \u0438\u043B\u0438 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435", disabled: !props.canSend || attachments.length >= limits.maxPending, onClick: () => fileInput.current?.click(), children: _jsx(AttachIcon, {}) }), _jsx("span", { className: "dsh-qa-composer__hint", "data-testid": "qa-composer-hint", "aria-live": "polite", children: hint }), props.onFastModeChange === undefined ? null : (_jsx("button", { type: "button", className: `dsh-qa-composer__fast${props.fastMode === true ? " dsh-qa-composer__fast--active" : ""}`, "data-testid": "qa-composer-fast", "aria-label": "Fast: \u0431\u0435\u0437 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0440\u0435\u0432\u044C\u044E \u043E\u0442\u0432\u0435\u0442\u043E\u0432", "aria-pressed": props.fastMode === true, title: "Fast \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u0432 \u044D\u0442\u043E\u043C \u0447\u0430\u0442\u0435", disabled: !props.canSend || submitting, onClick: () => props.onFastModeChange?.(props.fastMode !== true), children: "Fast" })), props.running && props.showStop ? (_jsx("button", { type: "button", className: "dsh-qa-composer__action dsh-qa-composer__action--stop", "data-testid": "qa-composer-stop", "aria-label": "\u041E\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C", title: "\u041E\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C", disabled: !props.canStop, onClick: () => void props.onStop(), children: _jsx("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: _jsx("rect", { x: "5.25", y: "5.25", width: "7.5", height: "7.5", rx: "1.5" }) }) })) : null, props.running && props.showStop && props.canSend ? (_jsx("button", { type: "button", className: "dsh-qa-composer__action dsh-qa-composer__action--send", "data-testid": "qa-composer-send", "aria-label": "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C", title: "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C", disabled: submitting || !hasContent, onClick: () => void send(), children: _jsx(SendIcon, {}) })) : null, props.running && props.showStop ? null : (_jsx("button", { type: "button", className: "dsh-qa-composer__action dsh-qa-composer__action--send", "data-testid": "qa-composer-send", "aria-label": props.running ? "Отправить в очередь" : "Отправить", title: props.running ? "Отправить в очередь" : "Отправить", disabled: !props.canSend || submitting || !hasContent, onClick: () => void send(), children: _jsx(SendIcon, {}) }))] })] }), props.fastMode === true ? (_jsx("p", { className: "dsh-qa-composer__fast-warning", "data-testid": "qa-composer-fast-warning", role: "status", children: "Fast \u0432\u043A\u043B\u044E\u0447\u0451\u043D \u0434\u043B\u044F \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439. \u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0440\u0435\u0432\u044C\u044E \u043E\u0442\u0432\u0435\u0442\u043E\u0432 \u043F\u0440\u043E\u043F\u0443\u0441\u043A\u0430\u0435\u0442\u0441\u044F: \u043E\u0448\u0438\u0431\u043A\u0438 \u0438 \u043D\u0435\u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043D\u043D\u044B\u0435 \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u043C\u043E\u0433\u0443\u0442 \u043E\u0441\u0442\u0430\u0442\u044C\u0441\u044F \u043D\u0435\u0437\u0430\u043C\u0435\u0447\u0435\u043D\u043D\u044B\u043C\u0438. \u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u0435\u0440\u0435\u0434 \u0441\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0435\u0442\u0441\u044F." })) : null] }));
222
+ } }), _jsx("button", { type: "button", className: "dsh-qa-composer__attach", "data-testid": "qa-composer-attach", "aria-label": "\u041F\u0440\u0438\u043A\u0440\u0435\u043F\u0438\u0442\u044C \u0444\u0430\u0439\u043B", title: "\u041F\u0440\u0438\u043A\u0440\u0435\u043F\u0438\u0442\u044C \u0444\u0430\u0439\u043B \u0438\u043B\u0438 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435", disabled: !props.canSend || attachments.length >= limits.maxPending, onClick: () => fileInput.current?.click(), children: _jsx(AttachIcon, {}) }), _jsxs("div", { className: "dsh-qa-composer__context", "data-testid": "qa-composer-context", children: [props.modelSelector, hint === null ? null : (_jsx("span", { className: "dsh-qa-composer__hint", "data-testid": "qa-composer-hint", "aria-live": "polite", children: hint }))] }), props.onFastModeChange === undefined ? null : (_jsx("button", { type: "button", className: `dsh-qa-composer__fast${props.fastMode === true ? " dsh-qa-composer__fast--active" : ""}`, "data-testid": "qa-composer-fast", "aria-label": "Fast: \u0431\u0435\u0437 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0440\u0435\u0432\u044C\u044E \u043E\u0442\u0432\u0435\u0442\u043E\u0432", "aria-pressed": props.fastMode === true, title: "Fast \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u0432 \u044D\u0442\u043E\u043C \u0447\u0430\u0442\u0435", disabled: !props.canSend || submitting, onClick: () => props.onFastModeChange?.(props.fastMode !== true), children: "Fast" })), props.running && props.showStop ? (_jsx("button", { type: "button", className: "dsh-qa-composer__action dsh-qa-composer__action--stop", "data-testid": "qa-composer-stop", "aria-label": "\u041E\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C", title: "\u041E\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C", disabled: !props.canStop, onClick: () => void props.onStop(), children: _jsx("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: _jsx("rect", { x: "5.25", y: "5.25", width: "7.5", height: "7.5", rx: "1.5" }) }) })) : null, props.running && props.showStop && props.canSend ? (_jsx("button", { type: "button", className: "dsh-qa-composer__action dsh-qa-composer__action--send", "data-testid": "qa-composer-send", "aria-label": "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C", title: "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C", disabled: submitting || !hasContent, onClick: () => void send(), children: _jsx(SendIcon, {}) })) : null, props.running && props.showStop ? null : (_jsx("button", { type: "button", className: "dsh-qa-composer__action dsh-qa-composer__action--send", "data-testid": "qa-composer-send", "aria-label": props.running ? "Отправить в очередь" : "Отправить", title: props.running ? "Отправить в очередь" : "Отправить", disabled: !props.canSend || submitting || !hasContent, onClick: () => void send(), children: _jsx(SendIcon, {}) }))] })] }), props.fastMode === true ? (_jsx("p", { className: "dsh-qa-composer__fast-warning", "data-testid": "qa-composer-fast-warning", role: "status", children: "Fast \u0432\u043A\u043B\u044E\u0447\u0451\u043D \u0434\u043B\u044F \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439. \u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0440\u0435\u0432\u044C\u044E \u043E\u0442\u0432\u0435\u0442\u043E\u0432 \u043F\u0440\u043E\u043F\u0443\u0441\u043A\u0430\u0435\u0442\u0441\u044F: \u043E\u0448\u0438\u0431\u043A\u0438 \u0438 \u043D\u0435\u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043D\u043D\u044B\u0435 \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u043C\u043E\u0433\u0443\u0442 \u043E\u0441\u0442\u0430\u0442\u044C\u0441\u044F \u043D\u0435\u0437\u0430\u043C\u0435\u0447\u0435\u043D\u043D\u044B\u043C\u0438. \u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u0435\u0440\u0435\u0434 \u0441\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0435\u0442\u0441\u044F." })) : null] }));
224
223
  });
225
224
  //# sourceMappingURL=QaComposer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QaComposer.js","sourceRoot":"","sources":["../../../src/client/components/QaComposer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QaComposer.js","sourceRoot":"","sources":["../../../src/client/components/QaComposer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,202 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useId, useLayoutEffect, useRef, useState, } from "react";
3
+ import { createPortal } from "react-dom";
4
+ import { qaModelKey, useQaModelSelection, } from "../use-model-selection.js";
5
+ function Chevron({ back = false }) {
6
+ return (_jsx("svg", { viewBox: "0 0 16 16", "aria-hidden": "true", children: _jsx("path", { d: back ? "m10 4-4 4 4 4" : "m6 4 4 4-4 4" }) }));
7
+ }
8
+ function Check() {
9
+ return (_jsx("svg", { viewBox: "0 0 16 16", "aria-hidden": "true", children: _jsx("path", { d: "m3.5 8 3 3 6-6" }) }));
10
+ }
11
+ /** A single quiet trigger; model and source choices keep their own Host boundaries. */
12
+ export function QaComposerSettings(props) {
13
+ const model = useQaModelSelection(props.model);
14
+ const [open, setOpen] = useState(false);
15
+ const [page, setPage] = useState("root");
16
+ const [pending, setPending] = useState(false);
17
+ const [actionError, setActionError] = useState(null);
18
+ const [position, setPosition] = useState({ left: 8, top: 8 });
19
+ const root = useRef(null);
20
+ const trigger = useRef(null);
21
+ const popup = useRef(null);
22
+ const currentPage = useRef(page);
23
+ currentPage.current = page;
24
+ const popupId = useId();
25
+ const close = useCallback((restoreFocus) => {
26
+ setOpen(false);
27
+ setPage("root");
28
+ if (restoreFocus)
29
+ trigger.current?.focus();
30
+ }, []);
31
+ useLayoutEffect(() => {
32
+ if (!open)
33
+ return;
34
+ const place = () => {
35
+ const anchor = trigger.current?.getBoundingClientRect();
36
+ const box = popup.current?.getBoundingClientRect();
37
+ if (!anchor || !box)
38
+ return;
39
+ setPosition({
40
+ left: Math.max(8, Math.min(anchor.left, window.innerWidth - box.width - 8)),
41
+ top: Math.max(8, Math.min(anchor.top - box.height - 8, window.innerHeight - box.height - 8)),
42
+ });
43
+ };
44
+ place();
45
+ const focus = popup.current?.querySelector('[aria-checked="true"]:not(:disabled)') ??
46
+ popup.current?.querySelector('[role="menuitemradio"]:not(:disabled)') ??
47
+ popup.current?.querySelector("button:not(:disabled)");
48
+ focus?.focus();
49
+ const resize = typeof ResizeObserver === "undefined"
50
+ ? undefined
51
+ : new ResizeObserver(place);
52
+ if (popup.current)
53
+ resize?.observe(popup.current);
54
+ window.addEventListener("resize", place);
55
+ window.addEventListener("scroll", place, true);
56
+ return () => {
57
+ resize?.disconnect();
58
+ window.removeEventListener("resize", place);
59
+ window.removeEventListener("scroll", place, true);
60
+ };
61
+ }, [open, page]);
62
+ useEffect(() => {
63
+ if (!open)
64
+ return;
65
+ const outside = (event) => {
66
+ const target = event.target;
67
+ if (target &&
68
+ !root.current?.contains(target) &&
69
+ !popup.current?.contains(target))
70
+ close(false);
71
+ };
72
+ const escape = (event) => {
73
+ if (event.key !== "Escape")
74
+ return;
75
+ event.preventDefault();
76
+ event.stopPropagation();
77
+ if (currentPage.current === "root")
78
+ close(true);
79
+ else
80
+ setPage("root");
81
+ };
82
+ document.addEventListener("pointerdown", outside, true);
83
+ document.addEventListener("focusin", outside);
84
+ window.addEventListener("keydown", escape, true);
85
+ return () => {
86
+ document.removeEventListener("pointerdown", outside, true);
87
+ document.removeEventListener("focusin", outside);
88
+ window.removeEventListener("keydown", escape, true);
89
+ };
90
+ }, [open, close]);
91
+ const code = props.code;
92
+ const showCode = code !== undefined &&
93
+ (code.value.entries.length > 0 || code.value.unavailable);
94
+ const showModel = props.model !== undefined &&
95
+ (model.options === undefined ||
96
+ model.options.models.length > 1 ||
97
+ model.error !== undefined);
98
+ if (!showCode && !showModel)
99
+ return null;
100
+ const sourceLabel = code?.value.entries.find((entry) => entry.id === code.value.effectiveSource)
101
+ ?.label ??
102
+ (code?.value.unavailable ? "Версия недоступна" : "Версия кода");
103
+ const modelLabel = model.selected?.label ?? (props.model === undefined ? "" : "Модель");
104
+ const summary = [modelLabel, showCode ? sourceLabel : ""].filter(Boolean).join(" · ") ||
105
+ "Параметры чата";
106
+ const codeDisabled = code === undefined ||
107
+ code.disabled ||
108
+ code.pending ||
109
+ !code.value.writable ||
110
+ pending;
111
+ const modelDisabled = model.disabled || pending;
112
+ const error = actionError ?? (page === "code" ? code?.error : model.error) ?? null;
113
+ const enter = (next) => {
114
+ setActionError(null);
115
+ setPage(next);
116
+ };
117
+ const choose = async (value) => {
118
+ if (pending)
119
+ return;
120
+ if (page === "model" ? modelDisabled : codeDisabled)
121
+ return;
122
+ setPending(true);
123
+ setActionError(null);
124
+ try {
125
+ const accepted = page === "model"
126
+ ? await model.select(value ?? "")
127
+ : code?.value.selectedSource === value ||
128
+ (await code?.onSelect(value));
129
+ if (accepted)
130
+ close(true);
131
+ }
132
+ catch {
133
+ setActionError("Не удалось сохранить выбор. Повторите попытку.");
134
+ }
135
+ finally {
136
+ setPending(false);
137
+ }
138
+ };
139
+ const keys = (event) => {
140
+ if (event.key === "Tab") {
141
+ event.stopPropagation();
142
+ close(true);
143
+ return;
144
+ }
145
+ if (event.key === "ArrowLeft" && page !== "root") {
146
+ event.preventDefault();
147
+ event.stopPropagation();
148
+ enter("root");
149
+ return;
150
+ }
151
+ if (event.key === "ArrowRight" && page === "root") {
152
+ const target = event.target;
153
+ if (target.dataset.page === "model" || target.dataset.page === "code") {
154
+ event.preventDefault();
155
+ event.stopPropagation();
156
+ enter(target.dataset.page);
157
+ }
158
+ return;
159
+ }
160
+ if (!["ArrowDown", "ArrowUp", "Home", "End"].includes(event.key))
161
+ return;
162
+ event.preventDefault();
163
+ event.stopPropagation();
164
+ const items = [
165
+ ...(popup.current?.querySelectorAll("button:not(:disabled)") ?? []),
166
+ ];
167
+ const active = items.indexOf(document.activeElement);
168
+ const next = event.key === "Home"
169
+ ? 0
170
+ : event.key === "End"
171
+ ? items.length - 1
172
+ : (active + (event.key === "ArrowDown" ? 1 : -1) + items.length) %
173
+ items.length;
174
+ items[next]?.focus();
175
+ };
176
+ return (_jsxs("div", { ref: root, className: "dsh-qa-composer-settings", "data-testid": "qa-composer-settings", children: [_jsxs("button", { ref: trigger, type: "button", className: "dsh-qa-composer-settings__trigger", "data-testid": "qa-composer-settings-trigger", "aria-label": "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0447\u0430\u0442\u0430: \u043C\u043E\u0434\u0435\u043B\u044C \u0438 \u0432\u0435\u0440\u0441\u0438\u044F \u043A\u043E\u0434\u0430", "aria-haspopup": "menu", "aria-expanded": open, "aria-controls": open ? popupId : undefined, title: summary, onClick: () => {
177
+ setPage("root");
178
+ setOpen(!open);
179
+ }, onKeyDown: (event) => {
180
+ if (event.key === "ArrowDown" || event.key === "ArrowUp") {
181
+ event.preventDefault();
182
+ event.stopPropagation();
183
+ setPage("root");
184
+ setOpen(true);
185
+ }
186
+ }, children: [_jsx("span", { className: "dsh-qa-composer-settings__summary", "data-testid": "qa-composer-settings-summary", children: summary }), _jsx("svg", { viewBox: "0 0 16 16", "aria-hidden": "true", children: _jsx("path", { d: "m4 6 4 4 4-4" }) })] }), model.busy || code?.pending ? (_jsx("span", { className: "dsh-qa-sr-only", role: "status", children: "\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u044E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0447\u0430\u0442\u0430\u2026" })) : null, open
187
+ ? createPortal(_jsxs("div", { ref: popup, id: popupId, style: position, className: "dsh-qa-composer-settings__popup", role: "menu", "aria-label": page === "root"
188
+ ? "Параметры чата"
189
+ : page === "model"
190
+ ? "Модель чата"
191
+ : "Версия кода", "aria-busy": pending || model.busy || code?.pending, "data-testid": "qa-composer-settings-menu", onKeyDown: keys, children: [page === "root" ? (_jsxs(_Fragment, { children: [showModel ? (_jsxs("button", { type: "button", role: "menuitem", "data-page": "model", "data-testid": "qa-composer-settings-model", disabled: modelDisabled, "aria-haspopup": "menu", onClick: () => enter("model"), children: [_jsxs("span", { className: "dsh-qa-composer-settings__row-copy", children: [_jsx("span", { children: "\u041C\u043E\u0434\u0435\u043B\u044C" }), _jsx("small", { children: model.busy
192
+ ? "Сохраняю…"
193
+ : (model.selected?.label ?? "Загружаю…") })] }), _jsx(Chevron, {})] })) : null, showCode ? (_jsxs("button", { type: "button", role: "menuitem", "data-page": "code", "data-testid": "qa-composer-settings-code", disabled: codeDisabled, "aria-haspopup": "menu", onClick: () => enter("code"), children: [_jsxs("span", { className: "dsh-qa-composer-settings__row-copy", children: [_jsx("span", { children: "\u0412\u0435\u0440\u0441\u0438\u044F \u043A\u043E\u0434\u0430" }), _jsx("small", { children: code.pending ? "Сохраняю…" : sourceLabel })] }), _jsx(Chevron, {})] })) : null] })) : (_jsxs(_Fragment, { children: [_jsxs("button", { type: "button", role: "menuitem", className: "dsh-qa-composer-settings__back", "data-testid": "qa-composer-settings-back", "aria-label": "\u041D\u0430\u0437\u0430\u0434 \u043A \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430\u043C \u0447\u0430\u0442\u0430", onClick: () => enter("root"), children: [_jsx(Chevron, { back: true }), page === "model" ? "Модель" : "Версия кода"] }), _jsx("div", { className: "dsh-qa-composer-settings__options", role: "group", "aria-label": page === "model"
194
+ ? "Доступные модели"
195
+ : "Доступные версии кода", children: page === "model" ? (model.options?.models.map((entry) => (_jsxs("button", { type: "button", role: "menuitemradio", "data-testid": "qa-composer-settings-model-option", "aria-checked": qaModelKey(entry) === model.selectedKey, disabled: modelDisabled, onClick: () => void choose(qaModelKey(entry)), children: [_jsxs("span", { className: "dsh-qa-composer-settings__row-copy", children: [_jsx("span", { children: entry.label }), _jsxs("small", { children: [entry.provider, model.options?.defaultModel &&
196
+ qaModelKey(entry) ===
197
+ qaModelKey(model.options.defaultModel)
198
+ ? " · по умолчанию"
199
+ : ""] })] }), qaModelKey(entry) === model.selectedKey ? (_jsx(Check, {})) : null] }, qaModelKey(entry))))) : (_jsxs(_Fragment, { children: [_jsxs("button", { type: "button", role: "menuitemradio", "data-testid": "qa-composer-settings-source-default", "aria-checked": code?.value.selectedSource === null, disabled: codeDisabled, onClick: () => void choose(null), children: [_jsxs("span", { className: "dsh-qa-composer-settings__row-copy", children: [_jsx("span", { children: "\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E" }), code?.defaultLabel ? (_jsx("small", { children: code.defaultLabel })) : null] }), code?.value.selectedSource === null ? (_jsx(Check, {})) : null] }), code?.value.entries.map((entry) => (_jsxs("button", { type: "button", role: "menuitemradio", "data-testid": "qa-composer-settings-source-option", "aria-checked": code.value.selectedSource === entry.id, disabled: codeDisabled, onClick: () => void choose(entry.id), children: [_jsx("span", { className: "dsh-qa-composer-settings__row-copy", children: _jsx("span", { children: entry.label }) }), code.value.selectedSource === entry.id ? (_jsx(Check, {})) : null] }, entry.id)))] })) })] })), error ? (_jsx("p", { className: "dsh-qa-composer-settings__error", role: "alert", children: error })) : null, code?.value.unavailable && page === "code" ? (_jsx("p", { className: "dsh-qa-composer-settings__error", role: "status", children: "\u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A \u0443\u0434\u0430\u043B\u0451\u043D \u0438\u0437 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A. \u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0440\u0443\u0433\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E." })) : null, model.error ? (_jsx("button", { type: "button", role: "menuitem", "data-testid": "qa-composer-settings-retry", disabled: model.busy, onClick: model.reload, children: "\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u0438" })) : null] }), document.body)
200
+ : null] }));
201
+ }
202
+ //# sourceMappingURL=QaComposerSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QaComposerSettings.js","sourceRoot":"","sources":["../../../src/client/components/QaComposerSettings.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from "react";
3
3
  import { formatDayTime } from "./format.js";
4
4
  import { QaFileAttachment } from "./QaFileAttachment.js";
5
+ import { QaArtifactAttachment } from "./QaArtifactAttachment.js";
5
6
  import { QaWorkspaceBrowser } from "./QaWorkspaceBrowser.js";
6
7
  /** One attachment thumbnail, resolved through the controller's asset store. */
7
8
  function QaFileImage({ image, resolve, }) {
@@ -49,14 +50,7 @@ export function QaFilesPanel({ groups, resolveImage, onJumpToMessage, onArtifact
49
50
  : formatDayTime(group.timestamp);
50
51
  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", onOpen: onAttachmentOpen === undefined
51
52
  ? undefined
52
- : () => onAttachmentOpen(file) }, 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
53
- ? undefined
54
- : () => onArtifactOpen(artifact), onDownload: onArtifactDownload === undefined
55
- ? undefined
56
- : () => onArtifactDownload(artifact), onApprove: onArtifactApprove === undefined ||
57
- artifact.workflow?.status !== "reviewed"
58
- ? undefined
59
- : () => onArtifactApprove(artifact) }, artifact.path)))] })] }, group.messageId));
53
+ : () => onAttachmentOpen(file) }, file.attachmentId))), group.images.map((image) => resolveImage === undefined ? null : (_jsx(QaFileImage, { image: image, resolve: resolveImage }, image.attachmentId))), (group.artifacts ?? []).map((artifact) => (_jsx(QaArtifactAttachment, { artifact: artifact, onOpen: onArtifactOpen, onDownload: onArtifactDownload, onApprove: onArtifactApprove }, artifact.path)))] })] }, group.messageId));
60
54
  })] }));
61
55
  }
62
56
  //# 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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"}