@yadsh/dsh-qa-surface 0.15.7 → 0.17.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.
- package/README.md +27 -2
- package/lib/access/capability-catalog.js +11 -4
- package/lib/access/capability-catalog.js.map +1 -1
- package/lib/access/service.js +46 -5
- package/lib/access/service.js.map +1 -1
- package/lib/account-remotes.js +9 -0
- package/lib/account-remotes.js.map +1 -1
- package/lib/accounts/database.js +34 -3
- package/lib/accounts/database.js.map +1 -1
- package/lib/accounts/store.js +22 -2
- package/lib/accounts/store.js.map +1 -1
- package/lib/admin/service.js +4 -2
- package/lib/admin/service.js.map +1 -1
- package/lib/admin/session-log.js +3 -0
- package/lib/admin/session-log.js.map +1 -1
- package/lib/agent-scope.js +9 -0
- package/lib/agent-scope.js.map +1 -0
- package/lib/chat-sharing/native-fence.js +120 -0
- package/lib/chat-sharing/native-fence.js.map +1 -0
- package/lib/chat-sharing/resources.js +57 -0
- package/lib/chat-sharing/resources.js.map +1 -0
- package/lib/chat-sharing/store.js +199 -0
- package/lib/chat-sharing/store.js.map +1 -0
- package/lib/chat-sharing/transport.js +329 -0
- package/lib/chat-sharing/transport.js.map +1 -0
- package/lib/chat-sharing/turn-guard.js +154 -0
- package/lib/chat-sharing/turn-guard.js.map +1 -0
- package/lib/chat-sharing/types.js +2 -0
- package/lib/chat-sharing/types.js.map +1 -0
- package/lib/chat-sharing/uploads.js +55 -0
- package/lib/chat-sharing/uploads.js.map +1 -0
- package/lib/client/QaAccountsController.js +47 -2
- package/lib/client/QaAccountsController.js.map +1 -1
- package/lib/client/QaConfigController.js +7 -12
- package/lib/client/QaConfigController.js.map +1 -1
- package/lib/client/QaSessionController.js +195 -19
- package/lib/client/QaSessionController.js.map +1 -1
- package/lib/client/QaSurface.js +156 -14
- package/lib/client/QaSurface.js.map +1 -1
- package/lib/client/QaSurfaceGuard.js +6 -1
- package/lib/client/QaSurfaceGuard.js.map +1 -1
- package/lib/client/QaTranscriptAdapter.js +28 -5
- package/lib/client/QaTranscriptAdapter.js.map +1 -1
- package/lib/client/account-conversation.js +33 -0
- package/lib/client/account-conversation.js.map +1 -0
- package/lib/client/account-sessions.js +106 -0
- package/lib/client/account-sessions.js.map +1 -0
- package/lib/client/account-upload.js +30 -0
- package/lib/client/account-upload.js.map +1 -0
- package/lib/client/answer-review.js +89 -0
- package/lib/client/answer-review.js.map +1 -0
- package/lib/client/chat-artifacts.js +18 -3
- package/lib/client/chat-artifacts.js.map +1 -1
- package/lib/client/chat-sharing-api.js +2 -0
- package/lib/client/chat-sharing-api.js.map +1 -0
- package/lib/client/components/QaAnswerReviewStatus.js +45 -0
- package/lib/client/components/QaAnswerReviewStatus.js.map +1 -0
- package/lib/client/components/QaChangelog.js +92 -3
- package/lib/client/components/QaChangelog.js.map +1 -1
- package/lib/client/components/QaChatActions.js +52 -0
- package/lib/client/components/QaChatActions.js.map +1 -0
- package/lib/client/components/QaChatSharing.js +95 -0
- package/lib/client/components/QaChatSharing.js.map +1 -0
- package/lib/client/components/QaComposer.js +8 -4
- package/lib/client/components/QaComposer.js.map +1 -1
- package/lib/client/components/QaFileAttachment.js +12 -3
- package/lib/client/components/QaFileAttachment.js.map +1 -1
- package/lib/client/components/QaFilesPanel.js +11 -4
- package/lib/client/components/QaFilesPanel.js.map +1 -1
- package/lib/client/components/QaHeader.js +3 -3
- package/lib/client/components/QaHeader.js.map +1 -1
- package/lib/client/components/QaMarkdownPreview.js +86 -0
- package/lib/client/components/QaMarkdownPreview.js.map +1 -0
- package/lib/client/components/QaMessage.js +41 -10
- package/lib/client/components/QaMessage.js.map +1 -1
- package/lib/client/components/QaModal.js +17 -0
- package/lib/client/components/QaModal.js.map +1 -1
- package/lib/client/components/QaRightRail.js +6 -4
- package/lib/client/components/QaRightRail.js.map +1 -1
- package/lib/client/components/QaRightRailResize.js +129 -0
- package/lib/client/components/QaRightRailResize.js.map +1 -0
- package/lib/client/components/QaSidebar.js +11 -2
- package/lib/client/components/QaSidebar.js.map +1 -1
- package/lib/client/components/QaSourceFilters.js +22 -0
- package/lib/client/components/QaSourceFilters.js.map +1 -0
- package/lib/client/components/QaSourcesPanel.js +66 -14
- package/lib/client/components/QaSourcesPanel.js.map +1 -1
- package/lib/client/components/QaSpreadsheetPreview.js +56 -0
- package/lib/client/components/QaSpreadsheetPreview.js.map +1 -0
- package/lib/client/components/QaWelcomeNotice.js +2 -2
- package/lib/client/components/QaWelcomeNotice.js.map +1 -1
- package/lib/client/components/QaWorkspaceBrowser.js +46 -12
- package/lib/client/components/QaWorkspaceBrowser.js.map +1 -1
- package/lib/client/components/QaZoomImage.js +56 -0
- package/lib/client/components/QaZoomImage.js.map +1 -0
- package/lib/client/components/source-refs.js +57 -24
- package/lib/client/components/source-refs.js.map +1 -1
- package/lib/client/index.js +76 -8
- package/lib/client/index.js.map +1 -1
- package/lib/client/lineage.js +4 -3
- package/lib/client/lineage.js.map +1 -1
- package/lib/client/markdown/SourceImage.js +52 -0
- package/lib/client/markdown/SourceImage.js.map +1 -0
- package/lib/client/markdown/blocks.js +150 -115
- package/lib/client/markdown/blocks.js.map +1 -1
- package/lib/client/markdown/katex-css.js +1 -1
- package/lib/client/markdown/render.js +26 -9
- package/lib/client/markdown/render.js.map +1 -1
- package/lib/client/markdown/source-chip.js +6 -2
- package/lib/client/markdown/source-chip.js.map +1 -1
- package/lib/client/notifications/notification-dispatcher.js +50 -11
- package/lib/client/notifications/notification-dispatcher.js.map +1 -1
- package/lib/client/notifications/use-turn-notifications.js +107 -18
- package/lib/client/notifications/use-turn-notifications.js.map +1 -1
- package/lib/client/project-session-state.js +28 -13
- package/lib/client/project-session-state.js.map +1 -1
- package/lib/client/session-admission.js +9 -1
- package/lib/client/session-admission.js.map +1 -1
- package/lib/client/session-sources.js +44 -3
- package/lib/client/session-sources.js.map +1 -1
- package/lib/client/settings/sections/sources.js +1 -1
- package/lib/client/settings/sections/sources.js.map +1 -1
- package/lib/client/settings/styles.js +18 -28
- package/lib/client/settings/styles.js.map +1 -1
- package/lib/client/slash/useSlashNavigation.js +8 -5
- package/lib/client/slash/useSlashNavigation.js.map +1 -1
- package/lib/client/source-filters-styles.js +11 -0
- package/lib/client/source-filters-styles.js.map +1 -0
- package/lib/client/source-preview.js +1 -1
- package/lib/client/source-preview.js.map +1 -1
- package/lib/client/styles.js +62 -4
- package/lib/client/styles.js.map +1 -1
- package/lib/client/turn-sources.js +2 -1
- package/lib/client/turn-sources.js.map +1 -1
- package/lib/client/types.js.map +1 -1
- package/lib/client/use-right-rail.js +1 -1
- package/lib/client/use-right-rail.js.map +1 -1
- package/lib/client/user-settings/IntegrationTokensPage.js +30 -6
- package/lib/client/user-settings/IntegrationTokensPage.js.map +1 -1
- package/lib/client/workspace-download.js +42 -2
- package/lib/client/workspace-download.js.map +1 -1
- package/lib/client.js +6481 -2234
- package/lib/client.js.map +1 -1
- package/lib/config-resolvers/defaults.js +4 -3
- package/lib/config-resolvers/defaults.js.map +1 -1
- package/lib/config-resolvers/sources.js +2 -0
- package/lib/config-resolvers/sources.js.map +1 -1
- package/lib/config.js +3 -0
- package/lib/config.js.map +1 -1
- package/lib/enforcement/skill-policy.js +29 -4
- package/lib/enforcement/skill-policy.js.map +1 -1
- package/lib/enforcement/skill-resource-paths.js +32 -0
- package/lib/enforcement/skill-resource-paths.js.map +1 -0
- package/lib/enforcement/structured-result.js +38 -0
- package/lib/enforcement/structured-result.js.map +1 -0
- package/lib/enforcement/tool-grants.js +3 -1
- package/lib/enforcement/tool-grants.js.map +1 -1
- package/lib/index.js +447 -17
- package/lib/index.js.map +1 -1
- package/lib/integration/host-runner.js +1 -0
- package/lib/integration/host-runner.js.map +1 -1
- package/lib/integration/question-policy.js +126 -0
- package/lib/integration/question-policy.js.map +1 -0
- package/lib/integration/service.js +2 -0
- package/lib/integration/service.js.map +1 -1
- package/lib/llm-identity.js +27 -0
- package/lib/llm-identity.js.map +1 -0
- package/lib/markdown-frontmatter.js +47 -0
- package/lib/markdown-frontmatter.js.map +1 -0
- package/lib/markdown-images.js +33 -0
- package/lib/markdown-images.js.map +1 -0
- package/lib/prompt-notes.js +19 -2
- package/lib/prompt-notes.js.map +1 -1
- package/lib/provenance/collector.js +15 -1
- package/lib/provenance/collector.js.map +1 -1
- package/lib/provenance/connectors.js +57 -27
- package/lib/provenance/connectors.js.map +1 -1
- package/lib/provenance/dedupe.js +25 -1
- package/lib/provenance/dedupe.js.map +1 -1
- package/lib/provenance/document-preview.js +31 -3
- package/lib/provenance/document-preview.js.map +1 -1
- package/lib/provenance/extractors.js +88 -4
- package/lib/provenance/extractors.js.map +1 -1
- package/lib/provenance/file-download.js +56 -0
- package/lib/provenance/file-download.js.map +1 -0
- package/lib/provenance/file-preview.js +20 -2
- package/lib/provenance/file-preview.js.map +1 -1
- package/lib/provenance/host-store.js +59 -10
- package/lib/provenance/host-store.js.map +1 -1
- package/lib/provenance/integration-extractor.js +62 -0
- package/lib/provenance/integration-extractor.js.map +1 -0
- package/lib/provenance/snapshot-store.js +2 -0
- package/lib/provenance/snapshot-store.js.map +1 -1
- package/lib/provenance/source-content.js +103 -0
- package/lib/provenance/source-content.js.map +1 -0
- package/lib/provenance/source-image.js +57 -0
- package/lib/provenance/source-image.js.map +1 -0
- package/lib/provenance/spreadsheet-preview.js +52 -0
- package/lib/provenance/spreadsheet-preview.js.map +1 -0
- package/lib/qa-tools/docs-tools.js +14 -0
- package/lib/qa-tools/docs-tools.js.map +1 -1
- package/lib/questions.js +6 -1
- package/lib/questions.js.map +1 -1
- package/lib/secure-session.js +9 -3
- package/lib/secure-session.js.map +1 -1
- package/lib/session-fork-host.js +157 -0
- package/lib/session-fork-host.js.map +1 -0
- package/lib/session-fork.js +34 -0
- package/lib/session-fork.js.map +1 -0
- package/lib/session-ownership.js +5 -1
- package/lib/session-ownership.js.map +1 -1
- package/lib/shared/documents.js +12 -0
- package/lib/shared/documents.js.map +1 -1
- package/lib/shared/session-lineage.js +6 -0
- package/lib/shared/session-lineage.js.map +1 -0
- package/lib/slash/draft-target.js +21 -0
- package/lib/slash/draft-target.js.map +1 -0
- package/lib/slash/remotes.js +39 -4
- package/lib/slash/remotes.js.map +1 -1
- package/lib/typert.host.js +1869 -163
- package/lib/typert.remote-client.d.ts +56 -5
- package/lib/typert.remote-client.js +1678 -154
- package/lib/types/access/capability-catalog.d.ts +1 -1
- package/lib/types/access/service.d.ts +7 -0
- package/lib/types/access.js +2 -0
- package/lib/types/access.js.map +1 -0
- package/lib/types/account-remotes.d.ts +3 -0
- package/lib/types/accounts/database.d.ts +5 -0
- package/lib/types/accounts/store.d.ts +7 -2
- package/lib/types/accounts.js +2 -0
- package/lib/types/accounts.js.map +1 -0
- package/lib/types/admin/session-log.d.ts +2 -0
- package/lib/types/admin.js +2 -0
- package/lib/types/admin.js.map +1 -0
- package/lib/types/agent-scope.d.ts +4 -0
- package/lib/types/answer-review.js +2 -0
- package/lib/types/answer-review.js.map +1 -0
- package/lib/types/capability.js +2 -0
- package/lib/types/capability.js.map +1 -0
- package/lib/types/chat-sharing/native-fence.d.ts +11 -0
- package/lib/types/chat-sharing/resources.d.ts +5 -0
- package/lib/types/chat-sharing/store.d.ts +29 -0
- package/lib/types/chat-sharing/transport.d.ts +32 -0
- package/lib/types/chat-sharing/turn-guard.d.ts +21 -0
- package/lib/types/chat-sharing/types.d.ts +25 -0
- package/lib/types/chat-sharing/uploads.d.ts +5 -0
- package/lib/types/client/QaAccountsController.d.ts +4 -0
- package/lib/types/client/QaConfigController.d.ts +3 -2
- package/lib/types/client/QaSessionController.d.ts +17 -3
- package/lib/types/client/QaSurface.d.ts +6 -1
- package/lib/types/client/account-conversation.d.ts +6 -0
- package/lib/types/client/account-sessions.d.ts +7 -0
- package/lib/types/client/account-upload.d.ts +15 -0
- package/lib/types/client/answer-review.d.ts +16 -0
- package/lib/types/client/chat-sharing-api.d.ts +35 -0
- package/lib/types/client/components/QaAnswerReviewStatus.d.ts +8 -0
- package/lib/types/client/components/QaChatActions.d.ts +7 -0
- package/lib/types/client/components/QaChatSharing.d.ts +12 -0
- package/lib/types/client/components/QaComposer.d.ts +2 -0
- package/lib/types/client/components/QaFileAttachment.d.ts +3 -2
- package/lib/types/client/components/QaFilesPanel.d.ts +4 -1
- package/lib/types/client/components/QaMarkdownPreview.d.ts +13 -0
- package/lib/types/client/components/QaMessage.d.ts +5 -2
- package/lib/types/client/components/QaModal.d.ts +9 -0
- package/lib/types/client/components/QaRightRail.d.ts +3 -2
- package/lib/types/client/components/QaRightRailResize.d.ts +9 -0
- package/lib/types/client/components/QaSidebar.d.ts +2 -0
- package/lib/types/client/components/QaSourceFilters.d.ts +12 -0
- package/lib/types/client/components/QaSpreadsheetPreview.d.ts +8 -0
- package/lib/types/client/components/QaWelcomeNotice.d.ts +1 -1
- package/lib/types/client/components/QaWorkspaceBrowser.d.ts +8 -1
- package/lib/types/client/components/QaZoomImage.d.ts +38 -0
- package/lib/types/client/components/source-refs.d.ts +1 -0
- package/lib/types/client/lineage.d.ts +2 -2
- package/lib/types/client/markdown/SourceImage.d.ts +7 -0
- package/lib/types/client/markdown/blocks.d.ts +8 -1
- package/lib/types/client/markdown/render.d.ts +5 -1
- package/lib/types/client/markdown/source-chip.d.ts +1 -0
- package/lib/types/client/notifications/notification-dispatcher.d.ts +10 -6
- package/lib/types/client/notifications/use-turn-notifications.d.ts +4 -0
- package/lib/types/client/project-session-state.d.ts +1 -0
- package/lib/types/client/session-admission.d.ts +2 -0
- package/lib/types/client/session-sources.d.ts +1 -0
- package/lib/types/client/settings/styles.d.ts +2 -5
- package/lib/types/client/source-filters-styles.d.ts +2 -0
- package/lib/types/client/turn-sources.d.ts +1 -1
- package/lib/types/client/types.d.ts +18 -5
- package/lib/types/client/workspace-download.d.ts +9 -1
- package/lib/types/config.js +2 -0
- package/lib/types/config.js.map +1 -0
- package/lib/types/documents.js +2 -0
- package/lib/types/documents.js.map +1 -0
- package/lib/types/enforcement/skill-resource-paths.d.ts +5 -0
- package/lib/types/enforcement/structured-result.d.ts +11 -0
- package/lib/types/expert-memory.js +2 -0
- package/lib/types/expert-memory.js.map +1 -0
- package/lib/types/index.d.ts +42 -3
- package/lib/types/integration/contract.d.ts +1 -0
- package/lib/types/integration/question-policy.d.ts +20 -0
- package/lib/types/integration/service.d.ts +1 -0
- package/lib/types/llm-identity.d.ts +20 -0
- package/lib/types/markdown-frontmatter.d.ts +10 -0
- package/lib/types/markdown-images.d.ts +3 -0
- package/lib/types/policy.js +2 -0
- package/lib/types/policy.js.map +1 -0
- package/lib/types/prompt-notes.d.ts +3 -1
- package/lib/types/provenance/connectors.d.ts +4 -1
- package/lib/types/provenance/document-preview.d.ts +5 -2
- package/lib/types/provenance/extractors.d.ts +2 -0
- package/lib/types/provenance/file-download.d.ts +10 -0
- package/lib/types/provenance/file-preview.d.ts +2 -1
- package/lib/types/provenance/host-store.d.ts +2 -0
- package/lib/types/provenance/integration-extractor.d.ts +5 -0
- package/lib/types/provenance/source-content.d.ts +19 -0
- package/lib/types/provenance/source-image.d.ts +4 -0
- package/lib/types/provenance/spreadsheet-preview.d.ts +5 -0
- package/lib/types/provenance/types.d.ts +5 -0
- package/lib/types/qa-tools/docs-tools.d.ts +2 -0
- package/lib/types/quality.js +7 -0
- package/lib/types/quality.js.map +1 -0
- package/lib/types/questions.d.ts +2 -1
- package/lib/types/session-fork-host.d.ts +27 -0
- package/lib/types/session-fork.d.ts +7 -0
- package/lib/types/session.js +2 -0
- package/lib/types/session.js.map +1 -0
- package/lib/types/shared/documents.d.ts +2 -0
- package/lib/types/shared/session-lineage.d.ts +7 -0
- package/lib/types/skills.js +2 -0
- package/lib/types/skills.js.map +1 -0
- package/lib/types/slash/draft-target.d.ts +7 -0
- package/lib/types/slash/remotes.d.ts +7 -0
- package/lib/types/slash.js +2 -0
- package/lib/types/slash.js.map +1 -0
- package/lib/types/types/access.d.ts +43 -0
- package/lib/types/types/accounts.d.ts +177 -0
- package/lib/types/types/admin.d.ts +286 -0
- package/lib/types/types/answer-review.d.ts +11 -0
- package/lib/types/types/capability.d.ts +230 -0
- package/lib/types/types/config.d.ts +597 -0
- package/lib/types/types/documents.d.ts +34 -0
- package/lib/types/types/expert-memory.d.ts +35 -0
- package/lib/types/types/policy.d.ts +54 -0
- package/lib/types/types/quality.d.ts +100 -0
- package/lib/types/types/session.d.ts +397 -0
- package/lib/types/types/skills.d.ts +143 -0
- package/lib/types/types/slash.d.ts +159 -0
- package/lib/types/types.d.ts +14 -2180
- package/package.json +8 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QaChatSharing.js","sourceRoot":"","sources":["../../../src/client/components/QaChatSharing.tsx"],"names":[],"mappings":"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"}
|
|
@@ -159,12 +159,15 @@ export const QaComposer = memo(function QaComposer(props) {
|
|
|
159
159
|
? undefined
|
|
160
160
|
: `${SLASH_LIST_ID}-option-${String(navigation.active)}`, onKeyDown: (event) => {
|
|
161
161
|
if (navigation.open) {
|
|
162
|
-
if (
|
|
162
|
+
if (navigation.active !== -1 &&
|
|
163
|
+
(event.key === "ArrowDown" || event.key === "ArrowUp")) {
|
|
163
164
|
event.preventDefault();
|
|
164
165
|
navigation.move(event.key === "ArrowDown" ? 1 : -1);
|
|
165
166
|
return;
|
|
166
167
|
}
|
|
167
|
-
if (event.key === "Tab"
|
|
168
|
+
if (event.key === "Tab" &&
|
|
169
|
+
navigation.active !== -1 &&
|
|
170
|
+
!event.shiftKey) {
|
|
168
171
|
// Tab inserts, it does not complete-and-run: the user still
|
|
169
172
|
// has to write the argument and press Enter again.
|
|
170
173
|
event.preventDefault();
|
|
@@ -176,7 +179,8 @@ export const QaComposer = memo(function QaComposer(props) {
|
|
|
176
179
|
navigation.dismiss();
|
|
177
180
|
return;
|
|
178
181
|
}
|
|
179
|
-
if (
|
|
182
|
+
if (navigation.active !== -1 &&
|
|
183
|
+
event.key === "Enter" &&
|
|
180
184
|
!event.shiftKey &&
|
|
181
185
|
!event.nativeEvent.isComposing) {
|
|
182
186
|
event.preventDefault();
|
|
@@ -193,6 +197,6 @@ export const QaComposer = memo(function QaComposer(props) {
|
|
|
193
197
|
} }), _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) => {
|
|
194
198
|
void addFiles([...(event.target.files ?? [])]);
|
|
195
199
|
event.target.value = "";
|
|
196
|
-
} }), _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.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, {}) }))] })] })] }));
|
|
200
|
+
} }), _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] }));
|
|
197
201
|
});
|
|
198
202
|
//# 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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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { formatFileSize } from "../attachments.js";
|
|
3
|
+
import { useState } from "react";
|
|
3
4
|
/** Uppercase extension badge; a name without one falls back to a paper glyph. */
|
|
4
5
|
function badgeText(name) {
|
|
5
6
|
const dot = name.lastIndexOf(".");
|
|
@@ -14,8 +15,16 @@ function badgeText(name) {
|
|
|
14
15
|
* re-reads its bytes; a file the turn produced is the same chip with the two
|
|
15
16
|
* controls that make it usable — open it, or take it away.
|
|
16
17
|
*/
|
|
17
|
-
export function QaFileAttachment({ name, bytes, tone, onRemove, onOpen, onDownload, }) {
|
|
18
|
-
const
|
|
19
|
-
|
|
18
|
+
export function QaFileAttachment({ name, bytes, tone, onRemove, onOpen, onDownload, onApprove, }) {
|
|
19
|
+
const [approval, setApproval] = useState("idle");
|
|
20
|
+
const text = (_jsxs("span", { className: "dsh-qa-file__text", children: [_jsx("span", { className: "dsh-qa-file__name", "data-testid": "qa-file-name", children: name }), bytes === null ? null : (_jsx("span", { className: "dsh-qa-file__meta", "data-testid": "qa-file-size", children: formatFileSize(bytes) }))] }));
|
|
21
|
+
return (_jsxs("span", { className: "dsh-qa-file", "data-testid": "qa-file", "data-tone": tone, title: name, children: [_jsx("span", { className: "dsh-qa-file__badge", "data-testid": "qa-file-badge", "aria-hidden": "true", children: badgeText(name) }), onOpen === undefined ? (text) : (_jsx("button", { type: "button", className: "dsh-qa-file__open", "data-testid": "qa-file-open", "aria-label": `Открыть ${name}`, title: `Открыть ${name}`, onClick: onOpen, children: text })), onDownload === undefined ? null : (_jsx("button", { type: "button", className: "dsh-qa-file__download", "data-testid": "qa-file-download", "aria-label": `Скачать ${name}`, title: "\u0421\u043A\u0430\u0447\u0430\u0442\u044C", onClick: onDownload, children: "\u0421\u043A\u0430\u0447\u0430\u0442\u044C" })), onRemove === undefined ? null : (_jsx("button", { type: "button", "data-testid": "qa-file-remove", "aria-label": `Убрать ${name}`, title: "\u0423\u0431\u0440\u0430\u0442\u044C", onClick: onRemove, children: _jsx("svg", { viewBox: "0 0 16 16", "aria-hidden": "true", children: _jsx("path", { d: "m4 4 8 8m0-8-8 8" }) }) })), onApprove === undefined ? null : (_jsx("button", { type: "button", className: "dsh-qa-file__download dsh-qa-file__approve", "data-testid": "qa-file-approve", disabled: approval === "pending" || approval === "approved", "aria-label": `Согласовать ${name} и сформировать DOCX`, onClick: () => {
|
|
22
|
+
setApproval("pending");
|
|
23
|
+
void onApprove().then(() => setApproval("approved"), () => setApproval("failed"));
|
|
24
|
+
}, children: approval === "pending"
|
|
25
|
+
? "Согласование…"
|
|
26
|
+
: approval === "approved"
|
|
27
|
+
? "Согласовано"
|
|
28
|
+
: "Согласовать и сформировать DOCX" })), approval === "failed" ? (_jsx("span", { className: "dsh-qa-file__error", role: "status", "data-testid": "qa-file-approval-error", children: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u0442\u044C \u0438\u043B\u0438 \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0437\u0430\u043F\u0440\u043E\u0441. \u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0440\u0435\u0434\u0430\u043A\u0446\u0438\u044E \u0438 \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435." })) : null] }));
|
|
20
29
|
}
|
|
21
30
|
//# sourceMappingURL=QaFileAttachment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QaFileAttachment.js","sourceRoot":"","sources":["../../../src/client/components/QaFileAttachment.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"QaFileAttachment.js","sourceRoot":"","sources":["../../../src/client/components/QaFileAttachment.tsx"],"names":[],"mappings":"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"}
|
|
@@ -36,8 +36,10 @@ function QaFileImage({ image, resolve, }) {
|
|
|
36
36
|
* back, and the images are the same object URLs the message showed — while the
|
|
37
37
|
* workspace section reads through the Host's fenced listing and file reads.
|
|
38
38
|
*/
|
|
39
|
-
export function QaFilesPanel({ groups, resolveImage, onJumpToMessage, onArtifactOpen, onArtifactDownload, openArtifact, sessionId, api, }) {
|
|
40
|
-
const workspace = sessionId === undefined ||
|
|
39
|
+
export function QaFilesPanel({ groups, resolveImage, onJumpToMessage, onArtifactOpen, onAttachmentOpen, materialsOnly, onArtifactDownload, onArtifactApprove, openArtifact, sessionId, api, }) {
|
|
40
|
+
const workspace = sessionId === undefined ||
|
|
41
|
+
api === undefined ||
|
|
42
|
+
(materialsOnly && openArtifact === undefined) ? null : (_jsxs("section", { className: "dsh-qa-files__workspace", "data-testid": "qa-files-workspace", children: [_jsx("h3", { children: _jsx("span", { children: materialsOnly ? "Материалы чата" : "Рабочий каталог" }) }), _jsx(QaWorkspaceBrowser, { sessionId: sessionId, api: api, initialFile: openArtifact?.path, materialsOnly: materialsOnly }, openArtifact?.stamp ?? "browse")] }));
|
|
41
43
|
if (groups.length === 0) {
|
|
42
44
|
return (_jsxs("div", { className: "dsh-qa-files", "data-testid": "qa-files-panel", children: [workspace, _jsx("p", { className: "dsh-qa-files__empty", "data-testid": "qa-files-empty", children: "\u0412 \u044D\u0442\u043E\u043C \u0447\u0430\u0442\u0435 \u043D\u0435\u0442 \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0439." })] }));
|
|
43
45
|
}
|
|
@@ -45,11 +47,16 @@ export function QaFilesPanel({ groups, resolveImage, onJumpToMessage, onArtifact
|
|
|
45
47
|
const time = group.timestamp === undefined
|
|
46
48
|
? "Вложенные файлы"
|
|
47
49
|
: formatDayTime(group.timestamp);
|
|
48
|
-
return (_jsxs("section", { className: "dsh-qa-files__group", "data-testid": "qa-files-group", children: [_jsxs("h3", { children: [_jsx("span", { "data-testid": "qa-files-group-time", children: time }), _jsx("button", { type: "button", className: "dsh-qa-files__jump", "data-testid": "qa-files-jump", "aria-label": `Перейти к сообщению от ${time}`, title: "\u041A \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044E", onClick: () => onJumpToMessage(group.messageId), children: _jsx("svg", { viewBox: "0 0 14 14", "aria-hidden": "true", children: _jsx("path", { d: "M3.5 7h7m-3-3.5L11 7l-3.5 3.5" }) }) })] }), _jsxs("div", { className: "dsh-qa-files__items", "data-testid": "qa-files-group-items", children: [group.files.map((file) => (_jsx(QaFileAttachment, { name: file.name, bytes: file.bytes, tone: "sent"
|
|
50
|
+
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
|
+
? 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
|
|
49
53
|
? undefined
|
|
50
54
|
: () => onArtifactOpen(artifact), onDownload: onArtifactDownload === undefined
|
|
51
55
|
? undefined
|
|
52
|
-
: () => onArtifactDownload(artifact)
|
|
56
|
+
: () => onArtifactDownload(artifact), onApprove: onArtifactApprove === undefined ||
|
|
57
|
+
artifact.workflow?.status !== "reviewed"
|
|
58
|
+
? undefined
|
|
59
|
+
: () => onArtifactApprove(artifact) }, artifact.path)))] })] }, group.messageId));
|
|
53
60
|
})] }));
|
|
54
61
|
}
|
|
55
62
|
//# sourceMappingURL=QaFilesPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QaFilesPanel.js","sourceRoot":"","sources":["../../../src/client/components/QaFilesPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAI5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,+EAA+E;AAC/E,SAAS,WAAW,CAAC,EACnB,KAAK,EACL,OAAO,GAIR;IACC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACpD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAC9B,CAAC,QAAQ,EAAE,EAAE;YACX,IAAI,KAAK;gBAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC,EACD,GAAG,EAAE;YACH,IAAI,KAAK;gBAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC,CACF,CAAC;QACF,OAAO,GAAG,EAAE;YACV,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;IAClC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,CACL,eACE,SAAS,EAAC,qBAAqB,gBACpB,SAAS,iBACR,wBAAwB,GACpC,CACH,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACf,OAAO,CACL,eACE,SAAS,EAAC,qBAAqB,gBACpB,QAAQ,iBACP,uBAAuB,GACnC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,CACL,YACE,IAAI,EAAE,GAAG,iBACG,qBAAqB,EACjC,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,YAAY,YAEhB,cACE,SAAS,EAAC,qBAAqB,iBACnB,gBAAgB,EAC5B,GAAG,EAAE,GAAG,EACR,GAAG,EAAC,mJAA2B,GAC/B,GACA,CACL,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"QaFilesPanel.js","sourceRoot":"","sources":["../../../src/client/components/QaFilesPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAI5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,+EAA+E;AAC/E,SAAS,WAAW,CAAC,EACnB,KAAK,EACL,OAAO,GAIR;IACC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACpD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAC9B,CAAC,QAAQ,EAAE,EAAE;YACX,IAAI,KAAK;gBAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC,EACD,GAAG,EAAE;YACH,IAAI,KAAK;gBAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC,CACF,CAAC;QACF,OAAO,GAAG,EAAE;YACV,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;IAClC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,CACL,eACE,SAAS,EAAC,qBAAqB,gBACpB,SAAS,iBACR,wBAAwB,GACpC,CACH,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACf,OAAO,CACL,eACE,SAAS,EAAC,qBAAqB,gBACpB,QAAQ,iBACP,uBAAuB,GACnC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,CACL,YACE,IAAI,EAAE,GAAG,iBACG,qBAAqB,EACjC,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,YAAY,YAEhB,cACE,SAAS,EAAC,qBAAqB,iBACnB,gBAAgB,EAC5B,GAAG,EAAE,GAAG,EACR,GAAG,EAAC,mJAA2B,GAC/B,GACA,CACL,CAAC;AACJ,CAAC;AA+BD;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,MAAM,EACN,YAAY,EACZ,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,GAAG,GACe;IAClB,MAAM,SAAS,GACb,SAAS,KAAK,SAAS;QACvB,GAAG,KAAK,SAAS;QACjB,CAAC,aAAa,IAAI,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACrD,mBACE,SAAS,EAAC,yBAAyB,iBACvB,oBAAoB,aAEhC,uBACE,yBAAO,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,GAAQ,GAChE,EACL,KAAC,kBAAkB,IAEjB,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,YAAY,EAAE,IAAI,EAC/B,aAAa,EAAE,aAAa,IAJvB,YAAY,EAAE,KAAK,IAAI,QAAQ,CAKpC,IACM,CACX,CAAC;IACJ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CACL,eAAK,SAAS,EAAC,cAAc,iBAAa,gBAAgB,aACvD,SAAS,EACV,YAAG,SAAS,EAAC,qBAAqB,iBAAa,gBAAgB,8IAE3D,IACA,CACP,CAAC;IACJ,CAAC;IACD,OAAO,CACL,eAAK,SAAS,EAAC,cAAc,iBAAa,gBAAgB,aACvD,SAAS,EACT,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACpB,MAAM,IAAI,GACR,KAAK,CAAC,SAAS,KAAK,SAAS;oBAC3B,CAAC,CAAC,iBAAiB;oBACnB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACrC,OAAO,CACL,mBAEE,SAAS,EAAC,qBAAqB,iBACnB,gBAAgB,aAE5B,yBACE,8BAAkB,qBAAqB,YAAE,IAAI,GAAQ,EACrD,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,oBAAoB,iBAClB,eAAe,gBACf,0BAA0B,IAAI,EAAE,EAC5C,KAAK,EAAC,+DAAa,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,YAE/C,cAAK,OAAO,EAAC,WAAW,iBAAa,MAAM,YACzC,eAAM,CAAC,EAAC,+BAA+B,GAAG,GACtC,GACC,IACN,EACL,eACE,SAAS,EAAC,qBAAqB,iBACnB,sBAAsB,aAEjC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACzB,KAAC,gBAAgB,IAEf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAC,MAAM,EACX,MAAM,EACJ,gBAAgB,KAAK,SAAS;wCAC5B,CAAC,CAAC,SAAS;wCACX,CAAC,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAP7B,IAAI,CAAC,YAAY,CAStB,CACH,CAAC,EACD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1B,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAClC,KAAC,WAAW,IAEV,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,YAAY,IAFhB,KAAK,CAAC,YAAY,CAGvB,CACH,CACF,EACA,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACzC,KAAC,gBAAgB,IAEf,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,KAAK,EAAE,QAAQ,CAAC,KAAK,EACrB,IAAI,EAAC,MAAM,EACX,MAAM,EACJ,cAAc,KAAK,SAAS;wCAC1B,CAAC,CAAC,SAAS;wCACX,CAAC,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EAEpC,UAAU,EACR,kBAAkB,KAAK,SAAS;wCAC9B,CAAC,CAAC,SAAS;wCACX,CAAC,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAExC,SAAS,EACP,iBAAiB,KAAK,SAAS;wCAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,KAAK,UAAU;wCACtC,CAAC,CAAC,SAAS;wCACX,CAAC,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAlBlC,QAAQ,CAAC,IAAI,CAoBlB,CACH,CAAC,IACE,KArED,KAAK,CAAC,SAAS,CAsEZ,CACX,CAAC;YACJ,CAAC,CAAC,IACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -23,11 +23,11 @@ export function QaHeader({ logoUrl, title, viewingSubagent, onCloseSubagent, rol
|
|
|
23
23
|
onToggleAgents();
|
|
24
24
|
}, children: [_jsxs("svg", { viewBox: "0 0 16 16", "aria-hidden": "true", children: [_jsx("rect", { x: "3", y: "5.5", width: "10", height: "7", rx: "1.75" }), _jsx("path", { d: "M8 3v2.5M6.2 9h.01M9.8 9h.01M6.2 11h3.6" })] }), "\u0410\u0433\u0435\u043D\u0442\u044B", agentCount === 0 ? null : ` (${agentCount})`] }), sourcesVisible ? (_jsxs("button", { type: "button", className: "dsh-qa-header__sources", "data-testid": "qa-surface-header-sources", "aria-expanded": sourcesOpen, ...(sourcesCount === 0 && sourcesComplete
|
|
25
25
|
? {
|
|
26
|
-
"aria-label": "Источники:
|
|
26
|
+
"aria-label": "Источники: в этом чате пока нет источников",
|
|
27
27
|
}
|
|
28
28
|
: {}), title: sourcesCount === 0 && sourcesComplete
|
|
29
|
-
? "
|
|
30
|
-
: "Показать источники этого
|
|
29
|
+
? "В этом чате пока нет источников"
|
|
30
|
+
: "Показать источники этого чата", onClick: onOpenSources, children: [_jsxs("svg", { viewBox: "0 0 16 16", "aria-hidden": "true", children: [_jsx("circle", { cx: "8", cy: "8", r: "5.75" }), _jsx("path", { d: "M2.25 8h11.5M8 2.25c1.6 1.55 2.4 3.5 2.4 5.75S9.6 12.2 8 13.75C6.4 12.2 5.6 10.25 5.6 8S6.4 3.8 8 2.25Z" })] }), "\u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0438", sourcesCount === 0 && sourcesComplete
|
|
31
31
|
? null
|
|
32
32
|
: ` (${sourcesCount})`] })) : null, _jsxs("button", { type: "button", className: "dsh-qa-header__files", "data-testid": "qa-surface-header-files", "aria-disabled": !filesEnabled || undefined, "aria-expanded": filesOpen, ...(!filesEnabled
|
|
33
33
|
? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QaHeader.js","sourceRoot":"","sources":["../../../src/client/components/QaHeader.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"QaHeader.js","sourceRoot":"","sources":["../../../src/client/components/QaHeader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useMemo, useRef } from "react";
|
|
3
|
+
import { renderMarkdown } from "../markdown/render.js";
|
|
4
|
+
const LABELS = {
|
|
5
|
+
domain: "Область",
|
|
6
|
+
corpus: "Корпус",
|
|
7
|
+
applies_to: "Версии",
|
|
8
|
+
document_type: "Тип документа",
|
|
9
|
+
audience: "Аудитория",
|
|
10
|
+
language: "Язык",
|
|
11
|
+
status: "Статус",
|
|
12
|
+
section: "Раздел",
|
|
13
|
+
source: "Исходные файлы",
|
|
14
|
+
conversion: "Подготовка документа",
|
|
15
|
+
id: "Идентификатор",
|
|
16
|
+
version_confidence: "Определение версии",
|
|
17
|
+
parent_id: "Родительский документ",
|
|
18
|
+
supersedes: "Заменяет",
|
|
19
|
+
superseded_by: "Заменён",
|
|
20
|
+
related_domains: "Связанные области",
|
|
21
|
+
};
|
|
22
|
+
function valueText(value, depth = 0) {
|
|
23
|
+
if (value === null || value === undefined)
|
|
24
|
+
return "—";
|
|
25
|
+
if (typeof value === "string" || typeof value === "number")
|
|
26
|
+
return String(value);
|
|
27
|
+
if (typeof value === "boolean")
|
|
28
|
+
return value ? "Да" : "Нет";
|
|
29
|
+
if (depth > 6)
|
|
30
|
+
return "…";
|
|
31
|
+
if (Array.isArray(value))
|
|
32
|
+
return value.map((item) => valueText(item, depth + 1)).join(", ");
|
|
33
|
+
if (typeof value === "object")
|
|
34
|
+
return Object.entries(value)
|
|
35
|
+
.map(([key, item]) => `${key}: ${valueText(item, depth + 1)}`)
|
|
36
|
+
.join(" · ");
|
|
37
|
+
return "—";
|
|
38
|
+
}
|
|
39
|
+
function Metadata({ fields, }) {
|
|
40
|
+
const basic = [
|
|
41
|
+
"applies_to",
|
|
42
|
+
"document_type",
|
|
43
|
+
"audience",
|
|
44
|
+
"language",
|
|
45
|
+
"status",
|
|
46
|
+
"domain",
|
|
47
|
+
"corpus",
|
|
48
|
+
];
|
|
49
|
+
const details = Object.entries(fields).filter(([key, value]) => !["title", "section", "part", "parts", ...basic].includes(key) &&
|
|
50
|
+
value !== null);
|
|
51
|
+
return (_jsxs("header", { className: "dsh-qa-docmeta", "data-testid": "qa-source-frontmatter", children: [typeof fields.title === "string" ? (_jsx("h2", { children: fields.title })) : (_jsx("h2", { children: "\u041E \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0435" })), _jsx("dl", { className: "dsh-qa-docmeta__attributes", children: basic
|
|
52
|
+
.filter((key) => fields[key] != null)
|
|
53
|
+
.map((key) => (_jsxs("div", { children: [_jsx("dt", { children: LABELS[key] ?? key }), _jsx("dd", { children: valueText(fields[key]) })] }, key))) }), fields.part == null ? null : (_jsxs("p", { children: ["\u0427\u0430\u0441\u0442\u044C ", valueText(fields.part), fields.parts == null ? "" : ` из ${valueText(fields.parts)}`] })), typeof fields.section === "string" ? _jsx("p", { children: fields.section }) : null, details.length === 0 ? null : (_jsxs("details", { "data-testid": "qa-source-frontmatter-details", children: [_jsx("summary", { children: "\u0421\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u043E\u0431 \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0435" }), _jsx("dl", { children: details.map(([key, value]) => (_jsxs("div", { children: [_jsx("dt", { children: LABELS[key] ?? key }), _jsx("dd", { children: _jsx(MetadataValue, { value: value }) })] }, key))) })] }))] }));
|
|
54
|
+
}
|
|
55
|
+
function MetadataValue({ value, depth = 0, }) {
|
|
56
|
+
if (depth > 6 || value === null || typeof value !== "object")
|
|
57
|
+
return valueText(value);
|
|
58
|
+
if (Array.isArray(value))
|
|
59
|
+
return (_jsx("ul", { children: value.map((item, index) => (_jsx("li", { children: _jsx(MetadataValue, { value: item, depth: depth + 1 }) }, index))) }));
|
|
60
|
+
return (_jsx("dl", { children: Object.entries(value).map(([key, item]) => (_jsxs("div", { children: [_jsx("dt", { children: key }), _jsx("dd", { children: _jsx(MetadataValue, { value: item, depth: depth + 1 }) })] }, key))) }));
|
|
61
|
+
}
|
|
62
|
+
/** Source-only rendering: original file line numbers survive frontmatter removal. */
|
|
63
|
+
export function QaMarkdownPreview({ text, renderFrontmatter, frontmatter, lineStart, lineEnd, renderImage, requestKey, }) {
|
|
64
|
+
const root = useRef(null);
|
|
65
|
+
const header = renderFrontmatter ? frontmatter : undefined;
|
|
66
|
+
const children = useMemo(() => renderMarkdown(header?.body ?? text, renderImage === undefined ? {} : { renderImage }, {}, {
|
|
67
|
+
offset: header?.offset ?? 0,
|
|
68
|
+
...(lineStart === undefined ? {} : { start: lineStart }),
|
|
69
|
+
...(lineEnd === undefined ? {} : { end: lineEnd }),
|
|
70
|
+
}), [text, header, lineStart, lineEnd, renderImage]);
|
|
71
|
+
useEffect(() => {
|
|
72
|
+
if (lineStart === undefined)
|
|
73
|
+
return;
|
|
74
|
+
const nodes = [
|
|
75
|
+
...(root.current?.querySelectorAll("[data-source-line-start]") ?? []),
|
|
76
|
+
];
|
|
77
|
+
const target = nodes.find((node) => Number(node.dataset.sourceLineEnd) >= lineStart) ??
|
|
78
|
+
nodes.at(-1);
|
|
79
|
+
target?.scrollIntoView?.({ block: "center" });
|
|
80
|
+
}, [children, lineStart, requestKey]);
|
|
81
|
+
const headerHighlight = lineStart !== undefined &&
|
|
82
|
+
header !== undefined &&
|
|
83
|
+
lineStart <= header.offset;
|
|
84
|
+
return (_jsxs("div", { ref: root, className: "dsh-qa-md", children: [header === undefined ? null : (_jsx("div", { "data-source-line-start": 1, "data-source-line-end": header.offset, className: headerHighlight ? "dsh-qa-preview__block--highlight" : undefined, children: _jsx(Metadata, { fields: header.fields }) })), children] }));
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=QaMarkdownPreview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QaMarkdownPreview.js","sourceRoot":"","sources":["../../../src/client/components/QaMarkdownPreview.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { memo, useEffect, useRef, useState } from "react";
|
|
3
|
+
import { QaAnswerReviewStatus } from "./QaAnswerReviewStatus.js";
|
|
3
4
|
import { sameWorkItems } from "./QaWorkGroup.js";
|
|
4
5
|
import { QaFileAttachment } from "./QaFileAttachment.js";
|
|
5
|
-
import {
|
|
6
|
+
import { QaZoomImage } from "./QaZoomImage.js";
|
|
7
|
+
import { buildSourceRefs, sourceRefsSignature, } from "./source-refs.js";
|
|
6
8
|
/** The outcome line of a command row; the row already carries the name. */
|
|
7
9
|
function commandStateCopy(activity) {
|
|
8
10
|
if (activity.state === "running")
|
|
@@ -43,7 +45,7 @@ function QaAttachedImage({ image, resolve, }) {
|
|
|
43
45
|
if (url === "") {
|
|
44
46
|
return (_jsx("span", { className: "dsh-qa-message__image", "data-testid": "qa-message-image", "data-state": "broken" }));
|
|
45
47
|
}
|
|
46
|
-
return (_jsx(
|
|
48
|
+
return (_jsx(QaZoomImage, { className: "dsh-qa-message__image", testId: "qa-message-image", src: url, alt: "\u041F\u0440\u0438\u043A\u0440\u0435\u043F\u043B\u0451\u043D\u043D\u043E\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435" }));
|
|
47
49
|
}
|
|
48
50
|
import { FEEDBACK_REASON_LABELS } from "../admin/copy.js";
|
|
49
51
|
import { useCopyAction } from "../clipboard.js";
|
|
@@ -74,7 +76,13 @@ export function sameMessage(a, b) {
|
|
|
74
76
|
if (a.text !== b.text || a.timestamp !== b.timestamp)
|
|
75
77
|
return false;
|
|
76
78
|
if (a.role === "assistant" && b.role === "assistant") {
|
|
77
|
-
return (
|
|
79
|
+
return (a.forkable === b.forkable &&
|
|
80
|
+
a.seq === b.seq &&
|
|
81
|
+
a.review?.candidateSeq === b.review?.candidateSeq &&
|
|
82
|
+
a.review?.candidateHash === b.review?.candidateHash &&
|
|
83
|
+
a.review?.status === b.review?.status &&
|
|
84
|
+
a.review?.at === b.review?.at &&
|
|
85
|
+
sameSources(a.sources, b.sources) &&
|
|
78
86
|
sameArtifacts(a.artifacts, b.artifacts) &&
|
|
79
87
|
(a.stats === undefined) === (b.stats === undefined) &&
|
|
80
88
|
(a.stats === undefined ||
|
|
@@ -140,7 +148,14 @@ function sameArtifacts(a, b) {
|
|
|
140
148
|
return a.every((artifact, index) => artifact.path === b[index].path &&
|
|
141
149
|
artifact.name === b[index].name &&
|
|
142
150
|
artifact.format === b[index].format &&
|
|
143
|
-
artifact.bytes === b[index].bytes
|
|
151
|
+
artifact.bytes === b[index].bytes &&
|
|
152
|
+
artifact.workflow?.id === b[index].workflow?.id &&
|
|
153
|
+
artifact.workflow?.revision ===
|
|
154
|
+
b[index].workflow?.revision &&
|
|
155
|
+
artifact.workflow?.sha256 ===
|
|
156
|
+
b[index].workflow?.sha256 &&
|
|
157
|
+
artifact.workflow?.status ===
|
|
158
|
+
b[index].workflow?.status);
|
|
144
159
|
}
|
|
145
160
|
const REASONS = [
|
|
146
161
|
"incorrect",
|
|
@@ -213,21 +228,22 @@ function assistantMeta(message) {
|
|
|
213
228
|
}
|
|
214
229
|
return parts;
|
|
215
230
|
}
|
|
216
|
-
export const QaMessage = memo(function QaMessage({ message, renderMarkdown, showTimestamp, stateKey, onRegenerate, resolveImage, onOpenSources, onSourceDetail, onArtifactOpen, onArtifactDownload, thinkingPhrases, onRateFeedback, }) {
|
|
231
|
+
export const QaMessage = memo(function QaMessage({ message, renderMarkdown, showTimestamp, stateKey, onRegenerate, onFork, resolveImage, onOpenSources, onSourceDetail, onArtifactOpen, onAttachmentOpen, onArtifactDownload, onArtifactApprove, thinkingPhrases, onRateFeedback, }) {
|
|
217
232
|
// A work row carries no copyable text; the footer action renders for the
|
|
218
233
|
// roles that have it.
|
|
219
234
|
const { copied, impossible: copyImpossible, refused: copyRefused, copy, } = useCopyAction(message.role === "work" ? "" : message.text);
|
|
235
|
+
const [forking, setForking] = useState(false);
|
|
220
236
|
const [rating, setRating] = useState(null);
|
|
221
237
|
// The negative flow asks why, once, without blocking the rating itself.
|
|
222
238
|
const [askingWhy, setAskingWhy] = useState(false);
|
|
223
|
-
// Source-footnote registry, cached by the source
|
|
239
|
+
// Source-footnote registry, cached by the full source payload so the memoized
|
|
224
240
|
// Markdown keeps one resolver identity across streaming frames.
|
|
225
241
|
const refsCache = useRef({
|
|
226
242
|
ids: "",
|
|
227
243
|
refs: buildSourceRefs([]),
|
|
228
244
|
});
|
|
229
245
|
if (message.role === "assistant") {
|
|
230
|
-
const ids = message.sources
|
|
246
|
+
const ids = sourceRefsSignature(message.sources ?? []);
|
|
231
247
|
if (refsCache.current.ids !== ids) {
|
|
232
248
|
refsCache.current = {
|
|
233
249
|
ids,
|
|
@@ -294,16 +310,28 @@ export const QaMessage = memo(function QaMessage({ message, renderMarkdown, show
|
|
|
294
310
|
const showActions = message.role !== "system" &&
|
|
295
311
|
message.status !== "streaming" &&
|
|
296
312
|
message.status !== "pending";
|
|
297
|
-
return (_jsxs("article", { className: `dsh-qa-message dsh-qa-message--${message.role}`, "data-testid": "qa-message", "data-status": message.status, "aria-label": `Сообщение: ${label}`, children: [_jsxs("div", { className: "dsh-qa-message__content", "data-testid": "qa-message-content", children: [message.role === "user" && message.author !== undefined ? (_jsx("span", { className: "dsh-qa-message__byline", "data-testid": "qa-message-author", children: message.author })) : null, message.role === "user" && message.files !== undefined ? (_jsx("div", { className: "dsh-qa-message__files", "data-testid": "qa-message-files", "aria-label": "\u041F\u0440\u0438\u043A\u0440\u0435\u043F\u043B\u0451\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B", children: message.files.map((file) => (_jsx(QaFileAttachment, { name: file.name, bytes: file.bytes, tone: "sent"
|
|
313
|
+
return (_jsxs("article", { className: `dsh-qa-message dsh-qa-message--${message.role}`, "data-testid": "qa-message", "data-status": message.status, "aria-label": `Сообщение: ${label}`, children: [_jsxs("div", { className: "dsh-qa-message__content", "data-testid": "qa-message-content", children: [message.role === "user" && message.author !== undefined ? (_jsx("span", { className: "dsh-qa-message__byline", "data-testid": "qa-message-author", children: message.author })) : null, message.role === "user" && message.files !== undefined ? (_jsx("div", { className: "dsh-qa-message__files", "data-testid": "qa-message-files", "aria-label": "\u041F\u0440\u0438\u043A\u0440\u0435\u043F\u043B\u0451\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B", children: message.files.map((file) => (_jsx(QaFileAttachment, { name: file.name, bytes: file.bytes, tone: "sent", onOpen: onAttachmentOpen === undefined
|
|
314
|
+
? undefined
|
|
315
|
+
: () => onAttachmentOpen(file) }, file.attachmentId))) })) : null, message.role === "user" && message.images !== undefined ? (_jsx("div", { className: "dsh-qa-message__images", "data-testid": "qa-message-images", children: message.images.map((image) => (_jsx(QaAttachedImage, { image: image, resolve: resolveImage }, image.attachmentId))) })) : null, message.role === "assistant" && renderMarkdown ? (_jsx(Markdown, { text: message.text, streaming: message.status === "streaming", sourceRefs: sourceRefs, onSourceOpen: onSourceDetail })) : (message.text), message.role === "assistant" &&
|
|
298
316
|
message.artifacts !== undefined &&
|
|
299
317
|
message.artifacts.length > 0 ? (_jsx("div", { className: "dsh-qa-message__artifacts", "data-testid": "qa-message-artifacts", "aria-label": "\u0421\u043E\u0437\u0434\u0430\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B", children: message.artifacts.map((artifact) => (_jsx(QaFileAttachment, { name: artifact.name, bytes: artifact.bytes, tone: "sent", onOpen: onArtifactOpen === undefined
|
|
300
318
|
? undefined
|
|
301
319
|
: () => onArtifactOpen(artifact), onDownload: onArtifactDownload === undefined
|
|
302
320
|
? undefined
|
|
303
|
-
: () => onArtifactDownload(artifact)
|
|
321
|
+
: () => onArtifactDownload(artifact), onApprove: onArtifactApprove === undefined ||
|
|
322
|
+
artifact.workflow?.status !== "reviewed"
|
|
323
|
+
? undefined
|
|
324
|
+
: () => onArtifactApprove(artifact) }, artifact.path))) })) : null, message.status === "streaming" ? (_jsx("span", { className: "dsh-qa-message__cursor", "aria-hidden": "true" })) : null] }), message.role === "user" && message.status === "pending" ? (_jsxs("span", { className: "dsh-qa-message__pending", "data-testid": "qa-message-pending", role: "status", children: [_jsx("span", { className: "dsh-qa-message__pending-spinner", "aria-hidden": "true" }), "\u041F\u043E\u0434\u0433\u043E\u0442\u0430\u0432\u043B\u0438\u0432\u0430\u044E \u043E\u0442\u0432\u0435\u0442\u2026"] })) : null, message.role === "assistant" &&
|
|
304
325
|
onOpenSources !== undefined &&
|
|
305
326
|
message.sources !== undefined &&
|
|
306
|
-
message.sources.length > 0 ? (_jsxs("button", { type: "button", className: "dsh-qa-message__sources", "data-testid": "qa-message-sources", onClick: () => onOpenSources(message.sources ?? [], message.sourcesComplete ?? true, message.incompleteSourceOrigins), children: ["\u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0438 (", message.sources.length, ")"] })) : null, showActions ? (_jsxs("div", { className: "dsh-qa-message__actions", "data-testid": "qa-message-actions", "data-persistent": persistentMeta || undefined, children: [message.role === "user" ? meta : null, copyImpossible ? (_jsx(CopyHint, { testId: "qa-message-copy-hint" })) : (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", "data-testid": "qa-message-copy", "aria-label": copied ? "Скопировано" : "Скопировать сообщение", title: copied ? "Скопировано" : "Копировать", onClick: copy, children: copied ? (_jsx("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: _jsx("path", { d: "m4.5 9.25 2.75 2.75 6.25-6.25" }) })) : (_jsxs("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: [_jsx("rect", { x: "6.25", y: "3.25", width: "8.5", height: "8.5", rx: "2" }), _jsx("path", { d: "M11.75 11.75v.5a2.5 2.5 0 0 1-2.5 2.5h-3.5a2.5 2.5 0 0 1-2.5-2.5v-3.5a2.5 2.5 0 0 1 2.5-2.5h.5" })] })) }), copyRefused ? (_jsx(CopyHint, { testId: "qa-message-copy-hint" })) : null] })), message.role === "user" ? null : (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", "data-testid": "qa-message-rate-up", "aria-label": "\u041D\u0440\u0430\u0432\u0438\u0442\u0441\u044F", title: "\u041D\u0440\u0430\u0432\u0438\u0442\u0441\u044F", "aria-pressed": rating === "up", "data-active": rating === "up" || undefined, onClick: () => toggleRating("up"), children: _jsx("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: _jsx("path", { d: "M5.25 8.25 8.1 2.9a1.3 1.3 0 0 1 2.4.75v3.1h3.1c.9 0 1.55.85 1.33 1.72l-1.05 4.2a1.75 1.75 0 0 1-1.7 1.33H5.25m0-5.75v5.75m0-5.75h-2v5.75h2" }) }) }), _jsx("button", { type: "button", "data-testid": "qa-message-rate-down", "aria-label": "\u041D\u0435 \u043D\u0440\u0430\u0432\u0438\u0442\u0441\u044F", title: "\u041D\u0435 \u043D\u0440\u0430\u0432\u0438\u0442\u0441\u044F", "aria-pressed": rating === "down", "data-active": rating === "down" || undefined, onClick: () => toggleRating("down"), children: _jsx("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: _jsx("path", { d: "M12.75 9.75 9.9 15.1a1.3 1.3 0 0 1-2.4-.75v-3.1H4.4a1.38 1.38 0 0 1-1.33-1.72l1.05-4.2A1.75 1.75 0 0 1 5.82 4h6.93m0 5.75V4m0 5.75h2V4h-2" }) }) }),
|
|
327
|
+
message.sources.length > 0 ? (_jsxs("button", { type: "button", className: "dsh-qa-message__sources", "data-testid": "qa-message-sources", onClick: () => onOpenSources(message.sources ?? [], message.sourcesComplete ?? true, message.incompleteSourceOrigins), children: ["\u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0438 (", message.sources.length, ")"] })) : null, message.role === "assistant" && message.review !== undefined ? (_jsx(QaAnswerReviewStatus, { review: message.review })) : null, showActions ? (_jsxs("div", { className: "dsh-qa-message__actions", "data-testid": "qa-message-actions", "data-persistent": persistentMeta || undefined, children: [message.role === "user" ? meta : null, copyImpossible ? (_jsx(CopyHint, { testId: "qa-message-copy-hint" })) : (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", "data-testid": "qa-message-copy", "aria-label": copied ? "Скопировано" : "Скопировать сообщение", title: copied ? "Скопировано" : "Копировать", onClick: copy, children: copied ? (_jsx("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: _jsx("path", { d: "m4.5 9.25 2.75 2.75 6.25-6.25" }) })) : (_jsxs("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: [_jsx("rect", { x: "6.25", y: "3.25", width: "8.5", height: "8.5", rx: "2" }), _jsx("path", { d: "M11.75 11.75v.5a2.5 2.5 0 0 1-2.5 2.5h-3.5a2.5 2.5 0 0 1-2.5-2.5v-3.5a2.5 2.5 0 0 1 2.5-2.5h.5" })] })) }), copyRefused ? (_jsx(CopyHint, { testId: "qa-message-copy-hint" })) : null] })), message.role === "user" ? null : (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", "data-testid": "qa-message-rate-up", "aria-label": "\u041D\u0440\u0430\u0432\u0438\u0442\u0441\u044F", title: "\u041D\u0440\u0430\u0432\u0438\u0442\u0441\u044F", "aria-pressed": rating === "up", "data-active": rating === "up" || undefined, onClick: () => toggleRating("up"), children: _jsx("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: _jsx("path", { d: "M5.25 8.25 8.1 2.9a1.3 1.3 0 0 1 2.4.75v3.1h3.1c.9 0 1.55.85 1.33 1.72l-1.05 4.2a1.75 1.75 0 0 1-1.7 1.33H5.25m0-5.75v5.75m0-5.75h-2v5.75h2" }) }) }), _jsx("button", { type: "button", "data-testid": "qa-message-rate-down", "aria-label": "\u041D\u0435 \u043D\u0440\u0430\u0432\u0438\u0442\u0441\u044F", title: "\u041D\u0435 \u043D\u0440\u0430\u0432\u0438\u0442\u0441\u044F", "aria-pressed": rating === "down", "data-active": rating === "down" || undefined, onClick: () => toggleRating("down"), children: _jsx("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: _jsx("path", { d: "M12.75 9.75 9.9 15.1a1.3 1.3 0 0 1-2.4-.75v-3.1H4.4a1.38 1.38 0 0 1-1.33-1.72l1.05-4.2A1.75 1.75 0 0 1 5.82 4h6.93m0 5.75V4m0 5.75h2V4h-2" }) }) }), onFork !== undefined &&
|
|
328
|
+
message.role === "assistant" &&
|
|
329
|
+
message.status === "committed" &&
|
|
330
|
+
message.forkable === true &&
|
|
331
|
+
message.seq !== undefined ? (_jsx("button", { type: "button", "data-testid": "qa-message-fork", "aria-label": "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C \u0432 \u043D\u043E\u0432\u043E\u043C \u0447\u0430\u0442\u0435", title: "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C \u0432 \u043D\u043E\u0432\u043E\u043C \u0447\u0430\u0442\u0435", disabled: forking, "aria-busy": forking || undefined, onClick: () => {
|
|
332
|
+
setForking(true);
|
|
333
|
+
void onFork(message.seq).finally(() => setForking(false));
|
|
334
|
+
}, children: _jsxs("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: [_jsx("path", { d: "M5 3.5v11m0-7h4a4 4 0 0 0 4-4m-2.5 2L13 3l2.5 2.5" }), _jsx("circle", { cx: "5", cy: "14.5", r: "1.5" })] }) })) : null, onRegenerate === undefined ? null : (_jsx("button", { type: "button", "data-testid": "qa-message-regenerate", "aria-label": "\u041F\u0435\u0440\u0435\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C", title: "\u041F\u0435\u0440\u0435\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C", onClick: onRegenerate, children: _jsx("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", children: _jsx("path", { d: "M14.6 9A5.6 5.6 0 1 1 12.9 5l1.7 1.7m0-3.4v3.4h-3.4" }) }) }))] })), message.role === "user" ? null : meta] })) : null, askingWhy ? (_jsx(FeedbackReasonForm, { onSubmit: (reasons, comment) => {
|
|
307
335
|
setAskingWhy(false);
|
|
308
336
|
persist("down", {
|
|
309
337
|
...(reasons.length === 0 ? {} : { reasons }),
|
|
@@ -317,10 +345,13 @@ export const QaMessage = memo(function QaMessage({ message, renderMarkdown, show
|
|
|
317
345
|
prev.showTimestamp === next.showTimestamp &&
|
|
318
346
|
prev.stateKey === next.stateKey &&
|
|
319
347
|
prev.onRegenerate === next.onRegenerate &&
|
|
348
|
+
prev.onFork === next.onFork &&
|
|
320
349
|
prev.resolveImage === next.resolveImage &&
|
|
321
350
|
prev.onOpenSources === next.onOpenSources &&
|
|
322
351
|
prev.onSourceDetail === next.onSourceDetail &&
|
|
323
352
|
prev.onArtifactOpen === next.onArtifactOpen &&
|
|
353
|
+
prev.onAttachmentOpen === next.onAttachmentOpen &&
|
|
354
|
+
prev.onArtifactApprove === next.onArtifactApprove &&
|
|
324
355
|
prev.onArtifactDownload === next.onArtifactDownload &&
|
|
325
356
|
prev.thinkingPhrases === next.thinkingPhrases &&
|
|
326
357
|
sameMessage(prev.message, next.message));
|