@yadsh/dsh-qa-surface 0.8.0 → 0.10.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 (242) hide show
  1. package/README.md +142 -4
  2. package/compatibility.json +5 -0
  3. package/lib/access/capability-catalog.js +32 -3
  4. package/lib/access/capability-catalog.js.map +1 -1
  5. package/lib/access/service.js +45 -17
  6. package/lib/access/service.js.map +1 -1
  7. package/lib/accounts/errors.js.map +1 -1
  8. package/lib/accounts/store.js +14 -0
  9. package/lib/accounts/store.js.map +1 -1
  10. package/lib/admin/permissions.js +4 -0
  11. package/lib/admin/permissions.js.map +1 -1
  12. package/lib/admin/quality-store.js +71 -0
  13. package/lib/admin/quality-store.js.map +1 -1
  14. package/lib/admin/service.js +113 -8
  15. package/lib/admin/service.js.map +1 -1
  16. package/lib/admin/session-log.js +66 -5
  17. package/lib/admin/session-log.js.map +1 -1
  18. package/lib/client/QaSessionController.js +371 -37
  19. package/lib/client/QaSessionController.js.map +1 -1
  20. package/lib/client/QaSurface.js +48 -8
  21. package/lib/client/QaSurface.js.map +1 -1
  22. package/lib/client/QaSurfaceGuard.js +12 -5
  23. package/lib/client/QaSurfaceGuard.js.map +1 -1
  24. package/lib/client/QaTranscriptAdapter.js +36 -0
  25. package/lib/client/QaTranscriptAdapter.js.map +1 -1
  26. package/lib/client/admin/QaAdmin.js +14 -2
  27. package/lib/client/admin/QaAdmin.js.map +1 -1
  28. package/lib/client/admin/pages/Conversations.js +33 -7
  29. package/lib/client/admin/pages/Conversations.js.map +1 -1
  30. package/lib/client/admin/pages/Users.js +9 -2
  31. package/lib/client/admin/pages/Users.js.map +1 -1
  32. package/lib/client/admin/shared.js +14 -1
  33. package/lib/client/admin/shared.js.map +1 -1
  34. package/lib/client/admin/styles.js +2 -0
  35. package/lib/client/admin/styles.js.map +1 -1
  36. package/lib/client/audit/QaAuditDialog.js +74 -0
  37. package/lib/client/audit/QaAuditDialog.js.map +1 -0
  38. package/lib/client/audit/QaAuditRowBadge.js +17 -0
  39. package/lib/client/audit/QaAuditRowBadge.js.map +1 -0
  40. package/lib/client/audit/controller.js +39 -0
  41. package/lib/client/audit/controller.js.map +1 -0
  42. package/lib/client/audit/types.js +36 -0
  43. package/lib/client/audit/types.js.map +1 -0
  44. package/lib/client/audit/use-chat-audits.js +139 -0
  45. package/lib/client/audit/use-chat-audits.js.map +1 -0
  46. package/lib/client/base64.js +22 -1
  47. package/lib/client/base64.js.map +1 -1
  48. package/lib/client/components/QaAgentsDrawer.js +9 -6
  49. package/lib/client/components/QaAgentsDrawer.js.map +1 -1
  50. package/lib/client/components/QaApproval.js +1 -1
  51. package/lib/client/components/QaApproval.js.map +1 -1
  52. package/lib/client/components/QaChangelog.js +72 -0
  53. package/lib/client/components/QaChangelog.js.map +1 -1
  54. package/lib/client/components/QaComposer.js +63 -3
  55. package/lib/client/components/QaComposer.js.map +1 -1
  56. package/lib/client/components/QaFilesPanel.js +17 -11
  57. package/lib/client/components/QaFilesPanel.js.map +1 -1
  58. package/lib/client/components/QaHeader.js +3 -11
  59. package/lib/client/components/QaHeader.js.map +1 -1
  60. package/lib/client/components/QaMessage.js +16 -0
  61. package/lib/client/components/QaMessage.js.map +1 -1
  62. package/lib/client/components/QaModal.js.map +1 -1
  63. package/lib/client/components/QaQuestions.js +5 -5
  64. package/lib/client/components/QaQuestions.js.map +1 -1
  65. package/lib/client/components/QaSidebar.js +22 -3
  66. package/lib/client/components/QaSidebar.js.map +1 -1
  67. package/lib/client/components/QaWidthHandle.js +111 -5
  68. package/lib/client/components/QaWidthHandle.js.map +1 -1
  69. package/lib/client/components/QaWorkspaceBrowser.js +231 -0
  70. package/lib/client/components/QaWorkspaceBrowser.js.map +1 -0
  71. package/lib/client/index.js +127 -51
  72. package/lib/client/index.js.map +1 -1
  73. package/lib/client/kiosk.js +51 -0
  74. package/lib/client/kiosk.js.map +1 -0
  75. package/lib/client/markdown/blocks.js +122 -7
  76. package/lib/client/markdown/blocks.js.map +1 -1
  77. package/lib/client/markdown/inline.js +108 -12
  78. package/lib/client/markdown/inline.js.map +1 -1
  79. package/lib/client/markdown/katex-css.js +12 -0
  80. package/lib/client/markdown/katex-css.js.map +1 -0
  81. package/lib/client/markdown/math.js +84 -0
  82. package/lib/client/markdown/math.js.map +1 -0
  83. package/lib/client/markdown/render.js +74 -5
  84. package/lib/client/markdown/render.js.map +1 -1
  85. package/lib/client/project-session-state.js +15 -2
  86. package/lib/client/project-session-state.js.map +1 -1
  87. package/lib/client/prompt-content.js +26 -0
  88. package/lib/client/prompt-content.js.map +1 -1
  89. package/lib/client/settings/card.js +2 -2
  90. package/lib/client/settings/card.js.map +1 -1
  91. package/lib/client/settings/sections/lockdown.js +1 -6
  92. package/lib/client/settings/sections/lockdown.js.map +1 -1
  93. package/lib/client/settings/sections/notes.js +46 -0
  94. package/lib/client/settings/sections/notes.js.map +1 -0
  95. package/lib/client/settings/sections/slash.js +57 -0
  96. package/lib/client/settings/sections/slash.js.map +1 -0
  97. package/lib/client/settings/sections/sources.js +4 -1
  98. package/lib/client/settings/sections/sources.js.map +1 -1
  99. package/lib/client/settings/sections/status.js +9 -1
  100. package/lib/client/settings/sections/status.js.map +1 -1
  101. package/lib/client/settings/sections.js +2 -0
  102. package/lib/client/settings/sections.js.map +1 -1
  103. package/lib/client/settlement.js +1 -1
  104. package/lib/client/settlement.js.map +1 -1
  105. package/lib/client/slash/SlashPalette.js +48 -0
  106. package/lib/client/slash/SlashPalette.js.map +1 -0
  107. package/lib/client/slash/copy.js +54 -0
  108. package/lib/client/slash/copy.js.map +1 -0
  109. package/lib/client/slash/slash-router.js +49 -0
  110. package/lib/client/slash/slash-router.js.map +1 -0
  111. package/lib/client/slash/useSlashNavigation.js +95 -0
  112. package/lib/client/slash/useSlashNavigation.js.map +1 -0
  113. package/lib/client/source-preview.js +3 -0
  114. package/lib/client/source-preview.js.map +1 -1
  115. package/lib/client/styles.js +145 -16
  116. package/lib/client/styles.js.map +1 -1
  117. package/lib/client/types.js +11 -0
  118. package/lib/client/types.js.map +1 -1
  119. package/lib/client.js +33548 -1876
  120. package/lib/client.js.map +1 -1
  121. package/lib/config-resolvers/basics.js +11 -2
  122. package/lib/config-resolvers/basics.js.map +1 -1
  123. package/lib/config-resolvers/defaults.js +32 -0
  124. package/lib/config-resolvers/defaults.js.map +1 -1
  125. package/lib/config-resolvers/lockdown.js +8 -2
  126. package/lib/config-resolvers/lockdown.js.map +1 -1
  127. package/lib/config-resolvers/notes.js +24 -0
  128. package/lib/config-resolvers/notes.js.map +1 -0
  129. package/lib/config-resolvers/slash-commands.js +60 -0
  130. package/lib/config-resolvers/slash-commands.js.map +1 -0
  131. package/lib/config-resolvers/sources.js +4 -0
  132. package/lib/config-resolvers/sources.js.map +1 -1
  133. package/lib/config.js +96 -2
  134. package/lib/config.js.map +1 -1
  135. package/lib/index.js +309 -11
  136. package/lib/index.js.map +1 -1
  137. package/lib/personal-skills/service.js +16 -3
  138. package/lib/personal-skills/service.js.map +1 -1
  139. package/lib/prompt-notes.js +45 -6
  140. package/lib/prompt-notes.js.map +1 -1
  141. package/lib/provenance/document-preview.js +51 -0
  142. package/lib/provenance/document-preview.js.map +1 -0
  143. package/lib/provenance/file-preview.js +191 -19
  144. package/lib/provenance/file-preview.js.map +1 -1
  145. package/lib/provenance/host-store.js +18 -1
  146. package/lib/provenance/host-store.js.map +1 -1
  147. package/lib/qa-tools/catalog.js +7 -1
  148. package/lib/qa-tools/catalog.js.map +1 -1
  149. package/lib/qa-tools/file-delete-gate.js +60 -0
  150. package/lib/qa-tools/file-delete-gate.js.map +1 -0
  151. package/lib/qa-tools/file-delete.js +156 -0
  152. package/lib/qa-tools/file-delete.js.map +1 -0
  153. package/lib/questions.js +90 -43
  154. package/lib/questions.js.map +1 -1
  155. package/lib/resolve-config.js +7 -0
  156. package/lib/resolve-config.js.map +1 -1
  157. package/lib/secure-session.js +24 -0
  158. package/lib/secure-session.js.map +1 -1
  159. package/lib/shared/documents.js +22 -0
  160. package/lib/shared/documents.js.map +1 -0
  161. package/lib/slash/catalog.js +77 -0
  162. package/lib/slash/catalog.js.map +1 -0
  163. package/lib/slash/matcher.js +100 -0
  164. package/lib/slash/matcher.js.map +1 -0
  165. package/lib/slash/parser.js +79 -0
  166. package/lib/slash/parser.js.map +1 -0
  167. package/lib/slash/policy.js +72 -0
  168. package/lib/slash/policy.js.map +1 -0
  169. package/lib/slash/remotes.js +272 -0
  170. package/lib/slash/remotes.js.map +1 -0
  171. package/lib/typert.host.js +544 -56
  172. package/lib/typert.remote-client.d.ts +13 -1
  173. package/lib/typert.remote-client.js +435 -53
  174. package/lib/types/access/capability-catalog.d.ts +28 -1
  175. package/lib/types/access/service.d.ts +33 -4
  176. package/lib/types/accounts/errors.d.ts +7 -1
  177. package/lib/types/accounts/store.d.ts +12 -0
  178. package/lib/types/admin/quality-store.d.ts +18 -0
  179. package/lib/types/admin/service.d.ts +34 -2
  180. package/lib/types/admin/session-log.d.ts +65 -1
  181. package/lib/types/client/QaSessionController.d.ts +84 -2
  182. package/lib/types/client/QaSurface.d.ts +14 -1
  183. package/lib/types/client/admin/pages/Conversations.d.ts +4 -0
  184. package/lib/types/client/admin/shared.d.ts +2 -0
  185. package/lib/types/client/audit/QaAuditDialog.d.ts +21 -0
  186. package/lib/types/client/audit/QaAuditRowBadge.d.ts +18 -0
  187. package/lib/types/client/audit/controller.d.ts +27 -0
  188. package/lib/types/client/audit/types.d.ts +72 -0
  189. package/lib/types/client/audit/use-chat-audits.d.ts +20 -0
  190. package/lib/types/client/base64.d.ts +13 -1
  191. package/lib/types/client/components/QaAgentsDrawer.d.ts +2 -1
  192. package/lib/types/client/components/QaComposer.d.ts +12 -2
  193. package/lib/types/client/components/QaFilesPanel.d.ts +16 -4
  194. package/lib/types/client/components/QaHeader.d.ts +9 -3
  195. package/lib/types/client/components/QaModal.d.ts +4 -3
  196. package/lib/types/client/components/QaQuestions.d.ts +7 -0
  197. package/lib/types/client/components/QaSidebar.d.ts +8 -0
  198. package/lib/types/client/components/QaWidthHandle.d.ts +48 -2
  199. package/lib/types/client/components/QaWorkspaceBrowser.d.ts +15 -0
  200. package/lib/types/client/index.d.ts +1 -1
  201. package/lib/types/client/kiosk.d.ts +34 -0
  202. package/lib/types/client/markdown/blocks.d.ts +14 -1
  203. package/lib/types/client/markdown/inline.d.ts +23 -7
  204. package/lib/types/client/markdown/katex-css.d.ts +11 -0
  205. package/lib/types/client/markdown/math.d.ts +23 -0
  206. package/lib/types/client/markdown/render.d.ts +2 -1
  207. package/lib/types/client/project-session-state.d.ts +3 -1
  208. package/lib/types/client/prompt-content.d.ts +9 -1
  209. package/lib/types/client/settings/sections/notes.d.ts +10 -0
  210. package/lib/types/client/settings/sections/slash.d.ts +16 -0
  211. package/lib/types/client/settings/sections.d.ts +2 -0
  212. package/lib/types/client/settlement.d.ts +4 -1
  213. package/lib/types/client/slash/SlashPalette.d.ts +24 -0
  214. package/lib/types/client/slash/copy.d.ts +30 -0
  215. package/lib/types/client/slash/slash-router.d.ts +67 -0
  216. package/lib/types/client/slash/useSlashNavigation.d.ts +47 -0
  217. package/lib/types/client/styles.d.ts +22 -0
  218. package/lib/types/client/types.d.ts +65 -1
  219. package/lib/types/config-resolvers/notes.d.ts +10 -0
  220. package/lib/types/config-resolvers/slash-commands.d.ts +20 -0
  221. package/lib/types/index.d.ts +116 -1
  222. package/lib/types/personal-skills/service.d.ts +5 -0
  223. package/lib/types/prompt-notes.d.ts +9 -0
  224. package/lib/types/provenance/document-preview.d.ts +24 -0
  225. package/lib/types/provenance/file-preview.d.ts +69 -2
  226. package/lib/types/provenance/host-store.d.ts +13 -0
  227. package/lib/types/qa-tools/catalog.d.ts +1 -1
  228. package/lib/types/qa-tools/file-delete-gate.d.ts +42 -0
  229. package/lib/types/qa-tools/file-delete.d.ts +32 -0
  230. package/lib/types/questions.d.ts +8 -0
  231. package/lib/types/shared/documents.d.ts +20 -0
  232. package/lib/types/slash/catalog.d.ts +56 -0
  233. package/lib/types/slash/matcher.d.ts +51 -0
  234. package/lib/types/slash/parser.d.ts +46 -0
  235. package/lib/types/slash/policy.d.ts +40 -0
  236. package/lib/types/slash/remotes.d.ts +35 -0
  237. package/lib/types/types.d.ts +293 -6
  238. package/lib/types/ui-mode.d.ts +18 -0
  239. package/lib/ui-mode.js +22 -0
  240. package/lib/ui-mode.js.map +1 -0
  241. package/package.json +15 -9
  242. package/scripts/attach-workspace-sessions.mjs +472 -0
@@ -0,0 +1,57 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * Slash interface: the master switch, the two admission policies and the
4
+ * palette itself.
5
+ *
6
+ * The allow lists stay name-based, which is what the deployment config stores
7
+ * — an operator writes `generate-tkp`, never an id. They are plain lists
8
+ * rather than checkboxes over a discovered catalog because the two halves are
9
+ * discovered differently and only one of them can be enumerated here at all:
10
+ * skills are a registry lookup, while a command is only resolvable against a
11
+ * live chat's agent, so this card could not honestly offer a fixed list of
12
+ * command names to tick.
13
+ */
14
+ import { ListField, Notice, NumberField, Section, SelectField, Toggle, } from "../fields.js";
15
+ import { parseCommaList } from "../format.js";
16
+ import { overriddenAny, resetAside, } from "./common.js";
17
+ const POLICY_MODES = [
18
+ { value: "deny-all", label: "Запретить всё" },
19
+ { value: "allow-list", label: "Только из списка" },
20
+ { value: "all", label: "Все доступные" },
21
+ ];
22
+ /** Master switch, per-kind admission policy and palette presentation. */
23
+ export function SlashSection(props) {
24
+ const config = props.config;
25
+ const disabled = !props.writable;
26
+ const slash = config?.slashCommands;
27
+ const allow = config?.lockdown?.allowSlashCommands ?? false;
28
+ const skillMode = slash?.skills?.mode ?? "allow-list";
29
+ const commandMode = slash?.commands?.mode ?? "deny-all";
30
+ const palette = slash?.palette;
31
+ const paths = [
32
+ ["slashCommands"],
33
+ ["lockdown", "allowSlashCommands"],
34
+ ];
35
+ const modified = overriddenAny(props, paths);
36
+ // Effective policy: while the switch is off nothing below has an effect, and
37
+ // saying so is the difference between "misconfigured" and "not enabled".
38
+ const effective = props.effective?.slashCommands;
39
+ return (_jsxs(Section, { title: "\u0421\u043B\u0435\u0448-\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F", modified: modified, aside: resetAside(props, paths), children: [_jsx(Toggle, { checked: allow, disabled: disabled, label: "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0441\u043B\u044D\u0448-\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F", hint: "\u041E\u0442\u043A\u0440\u044B\u0432\u0430\u0435\u0442 \u043F\u0430\u043B\u0438\u0442\u0440\u0443 \u043F\u043E \u00AB/\u00BB \u0432 \u043F\u043E\u043B\u0435 \u0432\u0432\u043E\u0434\u0430. \u0421\u0430\u043C\u0430 \u043F\u043E \u0441\u0435\u0431\u0435 \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442: \u043D\u0430\u0432\u044B\u043A\u0438 \u0438 \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u043F\u0435\u0440\u0435\u0447\u0438\u0441\u043B\u044F\u044E\u0442\u0441\u044F \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u043E \u043D\u0438\u0436\u0435.", onChange: (value) => {
40
+ props.write(["lockdown", "allowSlashCommands"], value);
41
+ } }), allow ? null : (_jsx(Notice, { tone: "info", children: "\u0421\u043B\u044D\u0448-\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u0432\u044B\u043A\u043B\u044E\u0447\u0435\u043D\u044B: \u00AB/\u00BB \u0432 \u043D\u0430\u0447\u0430\u043B\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u043F\u043E-\u043F\u0440\u0435\u0436\u043D\u0435\u043C\u0443 \u043E\u0442\u0432\u0435\u0440\u0433\u0430\u0435\u0442\u0441\u044F \u0441 \u043F\u043E\u0434\u0441\u043A\u0430\u0437\u043A\u043E\u0439, \u043F\u0430\u043B\u0438\u0442\u0440\u0430 \u043D\u0435 \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u0435\u0442\u0441\u044F." })), _jsx(SelectField, { label: "\u041D\u0430\u0432\u044B\u043A\u0438", value: skillMode, disabled: disabled, options: POLICY_MODES, hint: "\u00AB\u0412\u0441\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435\u00BB \u2014 \u044D\u0442\u043E user-invocable \u043D\u0430\u0432\u044B\u043A\u0438 \u0442\u0435\u043A\u0443\u0449\u0435\u0433\u043E \u0447\u0430\u0442\u0430, \u0430 \u043D\u0435 \u0432\u0435\u0441\u044C \u0440\u0435\u0435\u0441\u0442\u0440.", onChange: (value) => {
42
+ props.write(["slashCommands", "skills", "mode"], value);
43
+ } }), _jsx(ListField, { label: "\u0420\u0430\u0437\u0440\u0435\u0448\u0451\u043D\u043D\u044B\u0435 \u043D\u0430\u0432\u044B\u043A\u0438", value: slash?.skills?.allow ?? [], disabled: disabled || skillMode !== "allow-list", placeholder: "generate-tkp, generate-tz, gap-analysis", hint: "\u0422\u043E\u0447\u043D\u044B\u0435 \u0438\u043C\u0435\u043D\u0430 \u0431\u0435\u0437 \u0441\u043B\u0435\u0448\u0430, \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043F\u044F\u0442\u0443\u044E \u0438\u043B\u0438 \u043F\u043E \u043E\u0434\u043D\u043E\u043C\u0443 \u0432 \u0441\u0442\u0440\u043E\u043A\u0435. \u0414\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u043F\u0440\u0438 \u0440\u0435\u0436\u0438\u043C\u0435 \u00AB\u0422\u043E\u043B\u044C\u043A\u043E \u0438\u0437 \u0441\u043F\u0438\u0441\u043A\u0430\u00BB.", parse: parseCommaList, onCommit: (values) => {
44
+ props.write(["slashCommands", "skills", "allow"], values);
45
+ } }), _jsx(SelectField, { label: "\u041A\u043E\u043C\u0430\u043D\u0434\u044B", value: commandMode, disabled: disabled, options: POLICY_MODES, hint: "\u041A\u043E\u043C\u0430\u043D\u0434\u044B \u2014 \u044D\u0442\u043E \u0443\u043F\u0440\u0430\u0432\u043B\u044F\u044E\u0449\u0438\u0439 \u0441\u043B\u043E\u0439: \u043E\u043D\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u044E\u0442\u0441\u044F \u0445\u043E\u0441\u0442\u043E\u043C \u043D\u0430\u043F\u0440\u044F\u043C\u0443\u044E \u0438 \u043D\u0435 \u0441\u0442\u0430\u043D\u043E\u0432\u044F\u0442\u0441\u044F \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435\u043C \u043C\u043E\u0434\u0435\u043B\u0438.", onChange: (value) => {
46
+ props.write(["slashCommands", "commands", "mode"], value);
47
+ } }), _jsx(ListField, { label: "\u0420\u0430\u0437\u0440\u0435\u0448\u0451\u043D\u043D\u044B\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u044B", value: slash?.commands?.allow ?? [], disabled: disabled || commandMode !== "allow-list", placeholder: "compact, export", hint: "\u0422\u043E\u0447\u043D\u044B\u0435 \u0438\u043C\u0435\u043D\u0430 \u0431\u0435\u0437 \u0441\u043B\u0435\u0448\u0430. \u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u043D\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0430 \u043D\u0438 \u043E\u0434\u043D\u0430 \u043A\u043E\u043C\u0430\u043D\u0434\u0430: \u043D\u043E\u0432\u0430\u044F \u043A\u043E\u043C\u0430\u043D\u0434\u0430 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u043E\u0433\u043E \u043F\u043B\u0430\u0433\u0438\u043D\u0430 \u043D\u0435 \u0434\u043E\u043B\u0436\u043D\u0430 \u043F\u043E\u044F\u0432\u043B\u044F\u0442\u044C\u0441\u044F \u0432 \u043F\u0430\u043B\u0438\u0442\u0440\u0435 \u0441\u0430\u043C\u0430.", parse: parseCommaList, onCommit: (values) => {
48
+ props.write(["slashCommands", "commands", "allow"], values);
49
+ } }), _jsxs("div", { className: "qa-card-grid", children: [_jsx(Toggle, { checked: palette?.enabled ?? true, disabled: disabled, label: "\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u043F\u0430\u043B\u0438\u0442\u0440\u0443", hint: "\u0421\u043F\u0438\u0441\u043E\u043A \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043D\u0430\u0434 \u043F\u043E\u043B\u0435\u043C \u0432\u0432\u043E\u0434\u0430. \u0412\u044B\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u043D\u0435 \u0437\u0430\u043F\u0440\u0435\u0449\u0430\u0435\u0442 \u0443\u0436\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0451\u043D\u043D\u044B\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u2014 \u0438\u0445 \u043C\u043E\u0436\u043D\u043E \u043D\u0430\u0431\u0440\u0430\u0442\u044C \u0432\u0440\u0443\u0447\u043D\u0443\u044E.", onChange: (value) => {
50
+ props.write(["slashCommands", "palette", "enabled"], value);
51
+ } }), _jsx(Toggle, { checked: palette?.fuzzySearch ?? true, disabled: disabled, label: "\u041D\u0435\u0447\u0451\u0442\u043A\u0438\u0439 \u043F\u043E\u0438\u0441\u043A", hint: "\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0438\u0449\u0435\u0442 \u043F\u043E \u043F\u043E\u0434\u0441\u0442\u0440\u043E\u043A\u0435 \u0438 \u043F\u043E \u043F\u043E\u0440\u044F\u0434\u043A\u0443 \u0431\u0443\u043A\u0432. \u0412\u044B\u043A\u043B\u044E\u0447\u0435\u043D\u043D\u044B\u0439 \u2014 \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0435, \u043D\u0430\u0447\u0430\u043B\u043E \u0438\u043C\u0435\u043D\u0438 \u0438 \u0433\u0440\u0430\u043D\u0438\u0446\u0430 \u0441\u043B\u043E\u0432\u0430.", onChange: (value) => {
52
+ props.write(["slashCommands", "palette", "fuzzySearch"], value);
53
+ } }), _jsx(NumberField, { label: "\u0421\u0442\u0440\u043E\u043A \u0432 \u043F\u0430\u043B\u0438\u0442\u0440\u0435", value: palette?.maxVisible ?? 12, min: 1, max: 100, disabled: disabled, hint: "\u0421\u043A\u043E\u043B\u044C\u043A\u043E \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C; \u043E\u0441\u0442\u0430\u043B\u044C\u043D\u044B\u0435 \u043E\u0442\u0441\u0435\u043A\u0430\u044E\u0442\u0441\u044F \u043F\u043E \u0440\u0435\u043B\u0435\u0432\u0430\u043D\u0442\u043D\u043E\u0441\u0442\u0438.", onChange: (value) => {
54
+ props.write(["slashCommands", "palette", "maxVisible"], value);
55
+ } })] }), effective?.legacyDefaults === true ? (_jsx(Notice, { tone: "warn", children: "\u0412\u043A\u043B\u044E\u0447\u0451\u043D \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0439 \u0440\u0435\u0436\u0438\u043C \u0441\u043E\u0432\u043C\u0435\u0441\u0442\u0438\u043C\u043E\u0441\u0442\u0438: \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u0435 \u0432\u043A\u043B\u044E\u0447\u0430\u0435\u0442 \u0441\u043B\u044D\u0448-\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F, \u043D\u043E \u043D\u0435 \u043E\u043F\u0438\u0441\u044B\u0432\u0430\u0435\u0442 \u0438\u0445 \u043F\u043E\u043B\u0438\u0442\u0438\u043A\u0443. \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u044B \u0432\u0441\u0435 user-invocable \u043D\u0430\u0432\u044B\u043A\u0438 \u0447\u0430\u0442\u0430, \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u0437\u0430\u043F\u0440\u0435\u0449\u0435\u043D\u044B \u2014 \u043F\u0435\u0440\u0435\u0447\u0438\u0441\u043B\u0438\u0442\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u044F\u0432\u043D\u043E, \u0447\u0442\u043E\u0431\u044B \u043E\u043D\u0438 \u043F\u043E\u044F\u0432\u0438\u043B\u0438\u0441\u044C." })) : null, _jsx("p", { className: "qa-card-muted", children: "\u0421\u043B\u044D\u0448-\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043D\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u044F\u044E\u0442 \u043F\u0440\u0430\u0432\u0430: \u043F\u0435\u0441\u043E\u0447\u043D\u0438\u0446\u0430, \u0431\u0435\u043B\u044B\u0439 \u0441\u043F\u0438\u0441\u043E\u043A \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u0438 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u043E\u0441\u0442\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0436\u043D\u0438\u043C\u0438. \u041D\u0430\u0432\u044B\u043A \u043B\u0438\u0448\u044C \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0435\u0442 \u043C\u043E\u0434\u0435\u043B\u0438 \u0438\u043D\u0441\u0442\u0440\u0443\u043A\u0446\u0438\u0438, \u043A\u043E\u043C\u0430\u043D\u0434\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u0445\u043E\u0441\u0442\u043E\u043C." })] }));
56
+ }
57
+ //# sourceMappingURL=slash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slash.js","sourceRoot":"","sources":["../../../../src/client/settings/sections/slash.tsx"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export function SourcesSection(props) {
16
16
  const filePreview = sources?.filePreview;
17
17
  const maxBytes = filePreview?.maxBytes ?? 2_000_000;
18
18
  const maxRender = filePreview?.maxMarkdownRenderBytes ?? 1_000_000;
19
+ const maxListing = filePreview?.maxListingEntries ?? 500;
19
20
  const paths = [["sources"]];
20
21
  const modified = overriddenAny(props, paths);
21
22
  const blocked = disabled || !enabled;
@@ -49,7 +50,7 @@ export function SourcesSection(props) {
49
50
  props.write(["sources", "dedupe", "stripTrackingParams"], value);
50
51
  } }), _jsx(Toggle, { checked: sources?.dedupe?.mergeFileRanges ?? true, disabled: blocked, label: "\u041E\u0431\u044A\u0435\u0434\u0438\u043D\u044F\u0442\u044C \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u044B \u0444\u0430\u0439\u043B\u0430", hint: "\u0421\u043E\u0441\u0435\u0434\u043D\u0438\u0435 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\u044B \u043E\u0434\u043D\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0430 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0442\u0441\u044F \u043E\u0434\u043D\u043E\u0439 \u0437\u0430\u043F\u0438\u0441\u044C\u044E.", onChange: (value) => {
51
52
  props.write(["sources", "dedupe", "mergeFileRanges"], value);
52
- } })] })] }), _jsxs("details", { className: "qa-card-advanced", children: [_jsx("summary", { children: "\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0444\u0430\u0439\u043B\u043E\u0432" }), _jsxs("div", { className: "qa-card-advanced-content", children: [_jsxs("div", { className: "qa-card-grid", children: [_jsx(Toggle, { checked: filePreview?.enabled ?? true, disabled: blocked, label: "\u041E\u0442\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A-\u0444\u0430\u0439\u043B", hint: "\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F \u0444\u0430\u0439\u043B\u043E\u0432, \u0443\u0436\u0435 \u043F\u043E\u043F\u0430\u0432\u0448\u0438\u0445 \u0432 \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0438 \u043E\u0442\u0432\u0435\u0442\u0430.", onChange: (value) => {
53
+ } })] })] }), _jsxs("details", { className: "qa-card-advanced", children: [_jsx("summary", { children: "\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0444\u0430\u0439\u043B\u043E\u0432" }), _jsxs("div", { className: "qa-card-advanced-content", children: [_jsxs("div", { className: "qa-card-grid", children: [_jsx(Toggle, { checked: filePreview?.enabled ?? true, disabled: blocked, label: "\u041E\u0442\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u0432 \u043F\u0430\u043D\u0435\u043B\u0438", hint: "\u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A \u2014 \u0442\u043E\u043B\u044C\u043A\u043E \u0443\u0436\u0435 \u043F\u043E\u043F\u0430\u0432\u0448\u0438\u0435 \u0432 \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0438 \u043E\u0442\u0432\u0435\u0442\u0430; \u0440\u0430\u0431\u043E\u0447\u0438\u0439 \u043A\u0430\u0442\u0430\u043B\u043E\u0433 \u0447\u0430\u0442\u0430 \u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044F \u0446\u0435\u043B\u0438\u043A\u043E\u043C, \u0441\u0438\u043B\u0430\u043C\u0438 \u0442\u043E\u0433\u043E \u0436\u0435 \u043F\u0440\u0435\u0434\u0435\u043B\u0430.", onChange: (value) => {
53
54
  props.write(["sources", "filePreview", "enabled"], value);
54
55
  } }), _jsx(Toggle, { checked: filePreview?.markdownRenderedByDefault ?? true, disabled: blocked || !(filePreview?.enabled ?? true), label: "Markdown \u0441\u0440\u0430\u0437\u0443 \u0440\u0430\u0437\u043C\u0435\u0447\u0435\u043D", hint: "\u0418\u043D\u0430\u0447\u0435 \u0444\u0430\u0439\u043B \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u043A\u0430\u043A \u043E\u0431\u044B\u0447\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442.", onChange: (value) => {
55
56
  props.write(["sources", "filePreview", "markdownRenderedByDefault"], value);
@@ -57,6 +58,8 @@ export function SourcesSection(props) {
57
58
  props.write(["sources", "filePreview", "allowRawToggle"], value);
58
59
  } }), _jsx(NumberField, { label: "\u041F\u0440\u0435\u0434\u0435\u043B \u0440\u0430\u0437\u043C\u0435\u0440\u0430 \u0444\u0430\u0439\u043B\u0430, \u0431\u0430\u0439\u0442", value: maxBytes, min: 1_024, max: 20_000_000, disabled: blocked, hint: `≈ ${formatCount(Math.round(maxBytes / 1024))} КиБ.`, onChange: (value) => {
59
60
  props.write(["sources", "filePreview", "maxBytes"], value);
61
+ } }), _jsx(NumberField, { label: "\u0424\u0430\u0439\u043B\u043E\u0432 \u0432 \u043E\u0434\u043D\u043E\u043C \u043A\u0430\u0442\u0430\u043B\u043E\u0433\u0435", value: maxListing, min: 10, max: 5_000, disabled: blocked || !(filePreview?.enabled ?? true), hint: "\u0414\u043E\u043B\u044C\u0448\u0435 \u0441\u043F\u0438\u0441\u043E\u043A \u2014 \u0441 \u043F\u043E\u043C\u0435\u0442\u043A\u043E\u0439, \u0447\u0442\u043E \u043F\u043E\u043A\u0430\u0437\u0430\u043D\u044B \u043D\u0435 \u0432\u0441\u0435 \u0444\u0430\u0439\u043B\u044B.", onChange: (value) => {
62
+ props.write(["sources", "filePreview", "maxListingEntries"], value);
60
63
  } }), _jsx(NumberField, { label: "\u041F\u0440\u0435\u0434\u0435\u043B \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0438, \u0431\u0430\u0439\u0442", value: maxRender, min: 1_024, max: 10_000_000, disabled: blocked, hint: "\u0411\u043E\u043B\u044C\u0448\u0438\u0439 \u0444\u0430\u0439\u043B \u043E\u0442\u043A\u0440\u043E\u0435\u0442\u0441\u044F \u0442\u0435\u043A\u0441\u0442\u043E\u043C; \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u043F\u0440\u0435\u0432\u044B\u0448\u0430\u0442\u044C \u043F\u0440\u0435\u0434\u0435\u043B \u0440\u0430\u0437\u043C\u0435\u0440\u0430 \u0444\u0430\u0439\u043B\u0430.", onChange: (value) => {
61
64
  props.write(["sources", "filePreview", "maxMarkdownRenderBytes"], value);
62
65
  } })] }), maxRender > maxBytes ? (_jsx(Notice, { tone: "warn", children: "\u041F\u0440\u0435\u0434\u0435\u043B \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0438 \u0432\u044B\u0448\u0435 \u043F\u0440\u0435\u0434\u0435\u043B\u0430 \u0440\u0430\u0437\u043C\u0435\u0440\u0430 \u0444\u0430\u0439\u043B\u0430 \u2014 \u0445\u043E\u0441\u0442 \u043E\u0442\u0432\u0435\u0440\u0433\u043D\u0435\u0442 \u0442\u0430\u043A\u0443\u044E \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E." })) : null] })] }), _jsxs("details", { className: "qa-card-advanced", children: [_jsx("summary", { children: "\u0421\u0443\u0431\u0430\u0433\u0435\u043D\u0442\u044B" }), _jsxs("div", { className: "qa-card-advanced-content qa-card-grid", children: [_jsx(Toggle, { checked: sources?.subagents?.inheritSources ?? true, disabled: blocked, label: "\u041D\u0430\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u044C \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0438", hint: "\u041E\u0442\u0432\u0435\u0442 \u044D\u043A\u0441\u043F\u0435\u0440\u0442\u0430 \u043D\u0435\u0441\u0451\u0442 \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A, \u0438\u0437 \u043A\u043E\u0442\u043E\u0440\u043E\u0433\u043E \u043E\u043D \u0440\u0430\u0431\u043E\u0442\u0430\u043B.", onChange: (value) => {
@@ -1 +1 @@
1
- {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../../src/client/settings/sections/sources.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../../src/client/settings/sections/sources.tsx"],"names":[],"mappings":"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"}
@@ -28,10 +28,18 @@ export function StatusSection(props) {
28
28
  const accounts = effective?.accounts.enabled ?? config?.accounts?.enabled ?? false;
29
29
  const tools = effective?.lockdown.toolPolicy.allow.length ??
30
30
  config?.lockdown?.toolPolicy?.allow?.length;
31
+ const questions = effective?.interaction.questions ?? config?.interaction?.questions;
32
+ // The seam only ever produces a form where the tool policy lets the model
33
+ // call the tool: one half without the other is a setting that does nothing.
34
+ const questionTool = "ask_user_question";
35
+ const questionToolAllowed = effective === null
36
+ ? null
37
+ : effective.lockdown.enabled &&
38
+ effective.lockdown.toolPolicy.allow.includes(questionTool);
31
39
  return (_jsxs(Section, { title: "\u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435", modified: false, aside: _jsx("button", { type: "button", className: "qa-card-btn", disabled: props.refreshing, onClick: props.onRefresh, children: props.refreshing ? "Обновляю…" : "Обновить" }), children: [_jsxs("div", { className: "qa-card-status", children: [_jsx(Chip, { label: "\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430", value: enabled ? "включена" : "выключена", tone: enabled ? undefined : "off" }), _jsx(Chip, { label: "\u041C\u0430\u0440\u0448\u0440\u0443\u0442", value: enabled ? routePath : "—" }), _jsx(Chip, { label: "\u0421\u0435\u0441\u0441\u0438\u044F", value: shortPolicy(policy) }), _jsx(Chip, { label: "\u0411\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0430", value: !lockdown
32
40
  ? "выключена"
33
41
  : sandbox === "workspace-write"
34
42
  ? "запись"
35
- : "только чтение", tone: lockdown ? undefined : "off" }), _jsx(Chip, { label: "\u0410\u043A\u043A\u0430\u0443\u043D\u0442\u044B", value: accounts ? "включены" : "выключены" }), _jsx(Chip, { label: "\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B", value: formatCount(tools) }), _jsx(Chip, { label: "\u041F\u0440\u043E\u0432\u0435\u0440\u0435\u043D\u043E", value: formatClock(props.refreshedAt) })] }), effective === null ? (_jsx(Notice, { tone: "info", children: "\u0425\u043E\u0441\u0442 \u0435\u0449\u0451 \u043D\u0435 \u043E\u0442\u0432\u0435\u0442\u0438\u043B: \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0432\u0437\u044F\u0442\u044B \u0438\u0437 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A. \u041A\u0430\u043A \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u043D \u043E\u0442\u0432\u0435\u0442\u0438\u0442, \u0437\u0434\u0435\u0441\u044C \u043F\u043E\u044F\u0432\u0438\u0442\u0441\u044F \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F, \u0441 \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430." })) : null, props.overrides > 0 ? (_jsxs("p", { className: "qa-card-muted", children: ["\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u0441\u043B\u043E\u0439 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442", " ", pluralRu(props.overrides, ["ключ", "ключа", "ключей"]), ". \u0421\u0435\u043A\u0446\u0438\u0438 \u043D\u0438\u0436\u0435 \u043F\u043E\u043C\u0435\u0447\u0430\u044E\u0442 \u0442\u0430\u043A\u0438\u0435 \u043F\u043E\u043B\u044F \u043A\u0430\u043A \u00AB\u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043E\u00BB, \u0438 \u0440\u044F\u0434\u043E\u043C \u0441 \u043D\u0438\u043C\u0438 \u0435\u0441\u0442\u044C \u0441\u0431\u0440\u043E\u0441."] })) : null] }));
43
+ : "только чтение", tone: lockdown ? undefined : "off" }), _jsx(Chip, { label: "\u0410\u043A\u043A\u0430\u0443\u043D\u0442\u044B", value: accounts ? "включены" : "выключены" }), _jsx(Chip, { label: "\u0412\u043E\u043F\u0440\u043E\u0441\u044B \u043C\u043E\u0434\u0435\u043B\u0438", value: questions === "interactive" ? "формой в чате" : "отклоняются", tone: questions === "interactive" ? undefined : "off" }), _jsx(Chip, { label: "\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B", value: formatCount(tools) }), _jsx(Chip, { label: "\u041F\u0440\u043E\u0432\u0435\u0440\u0435\u043D\u043E", value: formatClock(props.refreshedAt) })] }), effective === null ? (_jsx(Notice, { tone: "info", children: "\u0425\u043E\u0441\u0442 \u0435\u0449\u0451 \u043D\u0435 \u043E\u0442\u0432\u0435\u0442\u0438\u043B: \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0432\u0437\u044F\u0442\u044B \u0438\u0437 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A. \u041A\u0430\u043A \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u043D \u043E\u0442\u0432\u0435\u0442\u0438\u0442, \u0437\u0434\u0435\u0441\u044C \u043F\u043E\u044F\u0432\u0438\u0442\u0441\u044F \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F, \u0441 \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430." })) : null, questions === "interactive" && questionToolAllowed === false ? (_jsxs(Notice, { tone: "warn", children: ["\u0412\u043E\u043F\u0440\u043E\u0441\u044B \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u044B, \u043D\u043E \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 ", questionTool, " \u043D\u0435 \u0432\u0445\u043E\u0434\u0438\u0442 \u0432 \u0441\u043F\u0438\u0441\u043E\u043A \u0440\u0430\u0437\u0440\u0435\u0448\u0451\u043D\u043D\u044B\u0445 (lockdown.toolPolicy.allow): \u043C\u043E\u0434\u0435\u043B\u044C \u043D\u0435 \u0441\u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u0434\u0430\u0442\u044C \u0432\u043E\u043F\u0440\u043E\u0441, \u0438 \u0444\u043E\u0440\u043C\u0430 \u043D\u0435 \u043F\u043E\u044F\u0432\u0438\u0442\u0441\u044F. \u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0432 \u0441\u043F\u0438\u0441\u043E\u043A \u0438\u043B\u0438 \u0432\u044B\u043A\u043B\u044E\u0447\u0438\u0442\u0435 \u0432\u043E\u043F\u0440\u043E\u0441\u044B."] })) : null, questions !== "interactive" && questionToolAllowed === true ? (_jsxs(Notice, { tone: "warn", children: ["\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 ", questionTool, " \u0440\u0430\u0437\u0440\u0435\u0448\u0451\u043D, \u0430 \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u0432\u044B\u043A\u043B\u044E\u0447\u0435\u043D\u044B: \u043A\u0430\u0436\u0434\u044B\u0439 \u0437\u0430\u043F\u0440\u043E\u0441 \u043C\u043E\u0434\u0435\u043B\u0438 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043A\u043B\u043E\u043D\u0451\u043D. \u0412\u043A\u043B\u044E\u0447\u0438\u0442\u0435 \u00AB\u0412\u043E\u043F\u0440\u043E\u0441\u044B \u043C\u043E\u0434\u0435\u043B\u0438\u00BB \u0432 \u0440\u0430\u0437\u0434\u0435\u043B\u0435 \u00AB\u0412\u0437\u0430\u0438\u043C\u043E\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u00BB \u0438\u043B\u0438 \u0443\u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0438\u0437 \u0441\u043F\u0438\u0441\u043A\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0451\u043D\u043D\u044B\u0445."] })) : null, props.overrides > 0 ? (_jsxs("p", { className: "qa-card-muted", children: ["\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u0441\u043B\u043E\u0439 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442", " ", pluralRu(props.overrides, ["ключ", "ключа", "ключей"]), ". \u0421\u0435\u043A\u0446\u0438\u0438 \u043D\u0438\u0436\u0435 \u043F\u043E\u043C\u0435\u0447\u0430\u044E\u0442 \u0442\u0430\u043A\u0438\u0435 \u043F\u043E\u043B\u044F \u043A\u0430\u043A \u00AB\u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043E\u00BB, \u0438 \u0440\u044F\u0434\u043E\u043C \u0441 \u043D\u0438\u043C\u0438 \u0435\u0441\u0442\u044C \u0441\u0431\u0440\u043E\u0441."] })) : null] }));
36
44
  }
37
45
  //# sourceMappingURL=status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/client/settings/sections/status.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/client/settings/sections/status.tsx"],"names":[],"mappings":"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"}
@@ -17,7 +17,9 @@ export { BrandingSection } from "./sections/branding.js";
17
17
  export { EmbeddingSection } from "./sections/embedding.js";
18
18
  export { InterfaceSection } from "./sections/interface.js";
19
19
  export { LockdownSection } from "./sections/lockdown.js";
20
+ export { NotesSection } from "./sections/notes.js";
20
21
  export { SessionSection } from "./sections/session.js";
22
+ export { SlashSection } from "./sections/slash.js";
21
23
  export { SourcesSection } from "./sections/sources.js";
22
24
  export { StatusSection } from "./sections/status.js";
23
25
  //# sourceMappingURL=sections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sections.js","sourceRoot":"","sources":["../../../src/client/settings/sections.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"sections.js","sourceRoot":"","sources":["../../../src/client/settings/sections.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
@@ -64,7 +64,7 @@ export function settlementView(settled, options = {}) {
64
64
  ? `Субагент ${shortId} ${settled.ending}`
65
65
  : `Субагент «${subject}» ${settled.ending}`,
66
66
  body: settled.body,
67
- ...(metaParts.length === 0 ? {} : { meta: metaParts.join(" · ") }),
67
+ ...(metaParts.length === 0 ? {} : { meta: metaParts.join("\n") }),
68
68
  };
69
69
  }
70
70
  //# sourceMappingURL=settlement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settlement.js","sourceRoot":"","sources":["../../src/client/settlement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settlement.js","sourceRoot":"","sources":["../../src/client/settlement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { memo } from "react";
3
+ const KIND_LABEL = Object.freeze({ skill: "Навык", command: "Команда" });
4
+ const KIND_GROUP = Object.freeze({ skill: "Навыки", command: "Команды" });
5
+ function groupRows(rows) {
6
+ const groups = [];
7
+ rows.forEach((entry, index) => {
8
+ const tail = groups.at(-1);
9
+ if (tail !== undefined && tail.kind === entry.kind) {
10
+ tail.rows.push({ entry, index });
11
+ return;
12
+ }
13
+ groups.push({ kind: entry.kind, rows: [{ entry, index }] });
14
+ });
15
+ return groups;
16
+ }
17
+ /**
18
+ * The palette itself: a listbox over rows the composer has already filtered
19
+ * and ranked. It owns no state — an empty list means "nothing matches", and
20
+ * the surface line says why when the catalog could not be read at all.
21
+ *
22
+ * Options are picked on `click` and never take focus (`onMouseDown` prevents
23
+ * the default) so the caret stays in the textarea: the keyboard keeps working
24
+ * straight after a click, and Escape still closes what the mouse opened.
25
+ */
26
+ export const QaSlashPalette = memo(function QaSlashPalette(props) {
27
+ const message = props.state === "error"
28
+ ? (props.error ?? "Не удалось загрузить команды")
29
+ : props.state === "loading"
30
+ ? "Загрузка действий…"
31
+ : props.rows.length === 0
32
+ ? "Ничего не найдено"
33
+ : null;
34
+ const groups = groupRows(props.rows);
35
+ return (_jsxs("div", { className: "dsh-qa-slash", role: "listbox", id: `${props.idPrefix}-list`, "aria-label": "\u041D\u0430\u0432\u044B\u043A\u0438 \u0438 \u043A\u043E\u043C\u0430\u043D\u0434\u044B", children: [message === null ? null : (_jsx("p", { className: "dsh-qa-slash__empty", role: "presentation", children: message })), groups.map((group) => (_jsxs("div", { role: "group", "aria-label": KIND_GROUP[group.kind], className: "dsh-qa-slash__group", children: [_jsx("p", { className: "dsh-qa-slash__group-title", role: "presentation", children: KIND_GROUP[group.kind] }), group.rows.map(({ entry, index }) => {
36
+ const selected = entry.id === props.activeId;
37
+ return (_jsxs("div", { id: `${props.idPrefix}-option-${String(index)}`, role: "option", "aria-selected": selected, className: selected
38
+ ? "dsh-qa-slash__row dsh-qa-slash__row--active"
39
+ : "dsh-qa-slash__row", onMouseEnter: () => {
40
+ props.onHover(index);
41
+ }, onMouseDown: (event) => {
42
+ event.preventDefault();
43
+ }, onClick: () => {
44
+ props.onPick(entry);
45
+ }, children: [_jsxs("span", { className: "dsh-qa-slash__head", children: [_jsx("span", { className: "dsh-qa-slash__name", children: `/${entry.name}` }), props.showKindBadge ? (_jsx("span", { className: `dsh-qa-slash__kind dsh-qa-slash__kind--${entry.kind}`, children: KIND_LABEL[entry.kind] })) : null] }), props.showDescriptions && entry.description !== "" ? (_jsx("span", { className: "dsh-qa-slash__description", children: entry.description })) : null] }, entry.id));
46
+ })] }, group.kind))), props.commandSurface === "inactive" && props.rows.length > 0 ? (_jsx("p", { className: "dsh-qa-slash__hint", role: "presentation", children: "\u041A\u043E\u043C\u0430\u043D\u0434\u044B \u043F\u043E\u044F\u0432\u044F\u0442\u0441\u044F, \u043A\u043E\u0433\u0434\u0430 \u0443 \u0447\u0430\u0442\u0430 \u0431\u0443\u0434\u0435\u0442 \u0430\u043A\u0442\u0438\u0432\u043D\u0430\u044F \u0441\u0435\u0441\u0441\u0438\u044F." })) : null] }));
47
+ });
48
+ //# sourceMappingURL=SlashPalette.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlashPalette.js","sourceRoot":"","sources":["../../../src/client/slash/SlashPalette.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * The user-facing copy of every slash decision. One module because these
3
+ * strings are the whole interface between a refusal and the person reading it:
4
+ * a refusal that does not say what to do next is indistinguishable from a bug.
5
+ */
6
+ /** The refusal that predates the feature; unchanged, so nothing regresses. */
7
+ export const SLASH_DISABLED_COPY = "Команды со слешем недоступны в режиме помощника.";
8
+ export function slashRefusalCopy(route) {
9
+ switch (route.kind) {
10
+ case "unknown":
11
+ return `Неизвестное действие: /${route.name}. Выберите действие из списка.`;
12
+ case "ambiguous":
13
+ return `Найдены навык и команда с именем /${route.name}. Выберите нужное действие.`;
14
+ case "unavailable":
15
+ return "Список действий сейчас недоступен. Обычные сообщения работают.";
16
+ }
17
+ }
18
+ /**
19
+ * A gesture inside an ordinary prompt that this deployment withholds. Stated
20
+ * as a fact about the deployment, not as a fault of the message, because the
21
+ * message itself is fine — it is one word of it that will not take effect.
22
+ */
23
+ export function slashWithheldCopy(names) {
24
+ const list = names.map((name) => `/${name}`).join(", ");
25
+ return `${list} недоступно в этом чате. Уберите упоминание или включите навык в настройках.`;
26
+ }
27
+ export function slashExecuteFailureCopy(entry) {
28
+ return `Не удалось выполнить /${entry.name}.`;
29
+ }
30
+ /** Copy for a refusal the Host decided, keyed by its reason. */
31
+ export function slashHostRefusalCopy(refusal) {
32
+ const reason = refusal.reason;
33
+ switch (reason) {
34
+ case "slash-disabled":
35
+ return SLASH_DISABLED_COPY;
36
+ case "unknown-command":
37
+ return "Команда больше недоступна.";
38
+ case "not-allowed":
39
+ return "Эта команда запрещена на этом стенде.";
40
+ case "attachments-unsupported":
41
+ return "Эта команда не принимает вложения.";
42
+ case "inactive-session":
43
+ return "Команда доступна только в активном чате.";
44
+ }
45
+ }
46
+ /**
47
+ * Attachments the chosen command refuses. Checked before dispatch so the
48
+ * composer keeps the draft and the files; the Host checks it again and stays
49
+ * the authority.
50
+ */
51
+ export function slashAttachmentsCopy(entry) {
52
+ return `/${entry.name} не принимает вложения.`;
53
+ }
54
+ //# sourceMappingURL=copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../src/client/slash/copy.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AAEH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAC9B,kDAAkD,CAAC;AAErD,MAAM,UAAU,gBAAgB,CAC9B,KAGC;IAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,0BAA0B,KAAK,CAAC,IAAI,gCAAgC,CAAC;QAC9E,KAAK,WAAW;YACd,OAAO,qCAAqC,KAAK,CAAC,IAAI,6BAA6B,CAAC;QACtF,KAAK,aAAa;YAChB,OAAO,gEAAgE,CAAC;IAC5E,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAwB;IACxD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,GAAG,IAAI,8EAA8E,CAAC;AAC/F,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAA0B;IAChE,OAAO,yBAAyB,KAAK,CAAC,IAAI,GAAG,CAAC;AAChD,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,oBAAoB,CAClC,OAAuD;IAEvD,MAAM,MAAM,GAAmB,OAAO,CAAC,MAAM,CAAC;IAC9C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,gBAAgB;YACnB,OAAO,mBAAmB,CAAC;QAC7B,KAAK,iBAAiB;YACpB,OAAO,4BAA4B,CAAC;QACtC,KAAK,aAAa;YAChB,OAAO,uCAAuC,CAAC;QACjD,KAAK,yBAAyB;YAC5B,OAAO,oCAAoC,CAAC;QAC9C,KAAK,kBAAkB;YACrB,OAAO,0CAA0C,CAAC;IACtD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA0B;IAC7D,OAAO,IAAI,KAAK,CAAC,IAAI,yBAAyB,CAAC;AACjD,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { parseSlashLine, skillGestures } from "../../slash/parser.js";
2
+ function entryById(entries, id) {
3
+ if (id === null || id === undefined)
4
+ return undefined;
5
+ return entries.find((entry) => entry.id === id);
6
+ }
7
+ /** Whether a withheld name appears in the text as a native skill gesture. */
8
+ const NO_WITHHELD = Object.freeze([]);
9
+ function withheldInText(text, deniedSkills) {
10
+ if (deniedSkills.length === 0)
11
+ return NO_WITHHELD;
12
+ const denied = new Set(deniedSkills);
13
+ return Object.freeze(skillGestures(text).filter((name) => denied.has(name)));
14
+ }
15
+ export function resolveSlashRoute(input) {
16
+ const line = parseSlashLine(input.text);
17
+ if (line === undefined) {
18
+ // Not a command line. It may still carry a `/name` gesture inside a
19
+ // sentence, which the native skill consumer will act on — say so when the
20
+ // deployment withholds that name.
21
+ const withheld = input.enabled
22
+ ? withheldInText(input.text, input.deniedSkills)
23
+ : Object.freeze([]);
24
+ return withheld.length === 0
25
+ ? { kind: "prompt" }
26
+ : { kind: "prompt", withheld };
27
+ }
28
+ if (!input.enabled)
29
+ return { kind: "disabled" };
30
+ const picked = entryById(input.entries, input.picked);
31
+ if (picked !== undefined && picked.name === line.name) {
32
+ return picked.kind === "skill"
33
+ ? { kind: "skill", entry: picked }
34
+ : { kind: "command", entry: picked };
35
+ }
36
+ if (!input.catalogReady)
37
+ return { kind: "unavailable", name: line.name };
38
+ const candidates = input.entries.filter((entry) => entry.name === line.name);
39
+ const only = candidates[0];
40
+ if (only === undefined)
41
+ return { kind: "unknown", name: line.name };
42
+ if (candidates.length > 1) {
43
+ return { kind: "ambiguous", name: line.name, entries: candidates };
44
+ }
45
+ return only.kind === "skill"
46
+ ? { kind: "skill", entry: only }
47
+ : { kind: "command", entry: only };
48
+ }
49
+ //# sourceMappingURL=slash-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slash-router.js","sourceRoot":"","sources":["../../../src/client/slash/slash-router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
2
+ import { rankSlashEntries } from "../../slash/matcher.js";
3
+ import { slashPaletteQuery } from "../../slash/parser.js";
4
+ /**
5
+ * Palette state for one composer draft.
6
+ *
7
+ * The palette is a pure function of the draft: it is open while the draft is
8
+ * `/` plus a name still being typed, and closes the moment the user types a
9
+ * space and starts writing arguments. Nothing has to be kept in sync — which
10
+ * is also why switching chats (the composer is keyed by chat and remounts)
11
+ * cannot leave a palette behind.
12
+ *
13
+ * Selection is one index over the filtered rows; the arrow keys, the mouse and
14
+ * the touch screen all move the same number.
15
+ */
16
+ export function useSlashNavigation(options) {
17
+ const { draft, slash, setDraft } = options;
18
+ const [dismissed, setDismissed] = useState(false);
19
+ const [pickedId, setPickedId] = useState(null);
20
+ const [active, setActive] = useState(0);
21
+ const lastReopen = useRef(options.reopen);
22
+ const query = slashPaletteQuery(draft);
23
+ const canOpen = slash.enabled && query !== undefined && !dismissed;
24
+ const open = canOpen;
25
+ useEffect(() => {
26
+ if (lastReopen.current === options.reopen)
27
+ return;
28
+ lastReopen.current = options.reopen;
29
+ setDismissed(false);
30
+ }, [options.reopen]);
31
+ const rows = useMemo(() => {
32
+ if (query === undefined)
33
+ return [];
34
+ return rankSlashEntries(slash.entries, query, {
35
+ fuzzy: options.fuzzySearch,
36
+ }).slice(0, options.maxVisible);
37
+ }, [slash.entries, query, options.fuzzySearch, options.maxVisible]);
38
+ // A new query re-ranks the rows, so the old index may point at a row that is
39
+ // no longer the best match; the first row is always the right anchor.
40
+ useEffect(() => {
41
+ setActive(0);
42
+ }, [query]);
43
+ const bounded = rows.length === 0 ? -1 : Math.min(active, rows.length - 1);
44
+ const activeId = bounded === -1 ? null : (rows[bounded]?.id ?? null);
45
+ const picked = useMemo(() => {
46
+ if (pickedId === null)
47
+ return undefined;
48
+ const entry = slash.entries.find((candidate) => candidate.id === pickedId);
49
+ // The pick survives only while the draft still reads as that invocation;
50
+ // editing the name away retires it and lets the router decide afresh.
51
+ if (entry === undefined)
52
+ return undefined;
53
+ return draft === `/${entry.name}` || draft.startsWith(`/${entry.name} `)
54
+ ? entry
55
+ : undefined;
56
+ }, [pickedId, slash.entries, draft]);
57
+ const insert = useCallback((entry) => {
58
+ setPickedId(entry.id);
59
+ setDismissed(true);
60
+ setDraft(`/${entry.name} `);
61
+ }, [setDraft]);
62
+ return {
63
+ open,
64
+ query: query ?? "",
65
+ rows,
66
+ active: bounded,
67
+ activeId,
68
+ move: (delta) => {
69
+ if (rows.length === 0)
70
+ return;
71
+ setActive((current) => {
72
+ const next = current + delta;
73
+ if (next < 0)
74
+ return rows.length - 1;
75
+ if (next >= rows.length)
76
+ return 0;
77
+ return next;
78
+ });
79
+ },
80
+ hover: (index) => {
81
+ setActive(index);
82
+ },
83
+ pickActive: () => {
84
+ const entry = rows[bounded];
85
+ if (entry !== undefined)
86
+ insert(entry);
87
+ },
88
+ pick: insert,
89
+ dismiss: () => {
90
+ setDismissed(true);
91
+ },
92
+ picked,
93
+ };
94
+ }
95
+ //# sourceMappingURL=useSlashNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSlashNavigation.js","sourceRoot":"","sources":["../../../src/client/slash/useSlashNavigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAoC1D;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAkC;IAElC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC3C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC9D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1C,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC;IACnE,MAAM,IAAI,GAAG,OAAO,CAAC;IAErB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM;YAAE,OAAO;QAClD,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QACpC,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAErB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;QACxB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACnC,OAAO,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE;YAC5C,KAAK,EAAE,OAAO,CAAC,WAAW;SAC3B,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAEpE,6EAA6E;IAC7E,sEAAsE;IACtE,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,CAAC,CAAC,CAAC;IACf,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QACxC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QAC3E,yEAAyE;QACzE,sEAAsE;QACtE,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC;YACtE,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAErC,MAAM,MAAM,GAAG,WAAW,CACxB,CAAC,KAA0B,EAAE,EAAE;QAC7B,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IAC9B,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,KAAK,IAAI,EAAE;QAClB,IAAI;QACJ,MAAM,EAAE,OAAO;QACf,QAAQ;QACR,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;YACd,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAC9B,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;gBACpB,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,CAAC;gBAC7B,IAAI,IAAI,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBACrC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM;oBAAE,OAAO,CAAC,CAAC;gBAClC,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACf,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QACD,UAAU,EAAE,GAAG,EAAE;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,GAAG,EAAE;YACZ,YAAY,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,MAAM;KACP,CAAC;AACJ,CAAC"}
@@ -16,6 +16,9 @@ export function sourcePreviewFailureCopy(failure) {
16
16
  if (reason === "outside-roots") {
17
17
  return "Этот файл лежит вне каталогов, доступных для предпросмотра: открыть можно рабочую папку чата, общие каталоги только для чтения и вложения.";
18
18
  }
19
+ if (reason === "unsupported") {
20
+ return "Такой файл не открывается в панели — его можно скачать и посмотреть отдельно.";
21
+ }
19
22
  if (reason === "not-evidence") {
20
23
  return "Источник больше не входит в доказательства этого чата — открой его из ответа заново.";
21
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"source-preview.js","sourceRoot":"","sources":["../../src/client/source-preview.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,+EAA+E;AAC/E,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AAEvD,SAAS,cAAc,CAAC,OAAgB;IACtC,MAAM,OAAO,GAAI,OAAsD;QACrE,EAAE,OAAO,CAAC;IACZ,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAC/B,OAAO,4IAA4I,CAAC;IACtJ,CAAC;IACD,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAC9B,OAAO,sFAAsF,CAAC;IAChG,CAAC;IACD,OAAO,kFAAkF,CAAC;AAC5F,CAAC"}
1
+ {"version":3,"file":"source-preview.js","sourceRoot":"","sources":["../../src/client/source-preview.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,+EAA+E;AAC/E,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AAEvD,SAAS,cAAc,CAAC,OAAgB;IACtC,MAAM,OAAO,GAAI,OAAsD;QACrE,EAAE,OAAO,CAAC;IACZ,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAC/B,OAAO,4IAA4I,CAAC;IACtJ,CAAC;IACD,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QAC7B,OAAO,+EAA+E,CAAC;IACzF,CAAC;IACD,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAC9B,OAAO,sFAAsF,CAAC;IAChG,CAAC;IACD,OAAO,kFAAkF,CAAC;AAC5F,CAAC"}