@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.
- package/README.md +142 -4
- package/compatibility.json +5 -0
- package/lib/access/capability-catalog.js +32 -3
- package/lib/access/capability-catalog.js.map +1 -1
- package/lib/access/service.js +45 -17
- package/lib/access/service.js.map +1 -1
- package/lib/accounts/errors.js.map +1 -1
- package/lib/accounts/store.js +14 -0
- package/lib/accounts/store.js.map +1 -1
- package/lib/admin/permissions.js +4 -0
- package/lib/admin/permissions.js.map +1 -1
- package/lib/admin/quality-store.js +71 -0
- package/lib/admin/quality-store.js.map +1 -1
- package/lib/admin/service.js +113 -8
- package/lib/admin/service.js.map +1 -1
- package/lib/admin/session-log.js +66 -5
- package/lib/admin/session-log.js.map +1 -1
- package/lib/client/QaSessionController.js +371 -37
- package/lib/client/QaSessionController.js.map +1 -1
- package/lib/client/QaSurface.js +48 -8
- package/lib/client/QaSurface.js.map +1 -1
- package/lib/client/QaSurfaceGuard.js +12 -5
- package/lib/client/QaSurfaceGuard.js.map +1 -1
- package/lib/client/QaTranscriptAdapter.js +36 -0
- package/lib/client/QaTranscriptAdapter.js.map +1 -1
- package/lib/client/admin/QaAdmin.js +14 -2
- package/lib/client/admin/QaAdmin.js.map +1 -1
- package/lib/client/admin/pages/Conversations.js +33 -7
- package/lib/client/admin/pages/Conversations.js.map +1 -1
- package/lib/client/admin/pages/Users.js +9 -2
- package/lib/client/admin/pages/Users.js.map +1 -1
- package/lib/client/admin/shared.js +14 -1
- package/lib/client/admin/shared.js.map +1 -1
- package/lib/client/admin/styles.js +2 -0
- package/lib/client/admin/styles.js.map +1 -1
- package/lib/client/audit/QaAuditDialog.js +74 -0
- package/lib/client/audit/QaAuditDialog.js.map +1 -0
- package/lib/client/audit/QaAuditRowBadge.js +17 -0
- package/lib/client/audit/QaAuditRowBadge.js.map +1 -0
- package/lib/client/audit/controller.js +39 -0
- package/lib/client/audit/controller.js.map +1 -0
- package/lib/client/audit/types.js +36 -0
- package/lib/client/audit/types.js.map +1 -0
- package/lib/client/audit/use-chat-audits.js +139 -0
- package/lib/client/audit/use-chat-audits.js.map +1 -0
- package/lib/client/base64.js +22 -1
- package/lib/client/base64.js.map +1 -1
- package/lib/client/components/QaAgentsDrawer.js +9 -6
- package/lib/client/components/QaAgentsDrawer.js.map +1 -1
- package/lib/client/components/QaApproval.js +1 -1
- package/lib/client/components/QaApproval.js.map +1 -1
- package/lib/client/components/QaChangelog.js +72 -0
- package/lib/client/components/QaChangelog.js.map +1 -1
- package/lib/client/components/QaComposer.js +63 -3
- package/lib/client/components/QaComposer.js.map +1 -1
- package/lib/client/components/QaFilesPanel.js +17 -11
- package/lib/client/components/QaFilesPanel.js.map +1 -1
- package/lib/client/components/QaHeader.js +3 -11
- package/lib/client/components/QaHeader.js.map +1 -1
- package/lib/client/components/QaMessage.js +16 -0
- package/lib/client/components/QaMessage.js.map +1 -1
- package/lib/client/components/QaModal.js.map +1 -1
- package/lib/client/components/QaQuestions.js +5 -5
- package/lib/client/components/QaQuestions.js.map +1 -1
- package/lib/client/components/QaSidebar.js +22 -3
- package/lib/client/components/QaSidebar.js.map +1 -1
- package/lib/client/components/QaWidthHandle.js +111 -5
- package/lib/client/components/QaWidthHandle.js.map +1 -1
- package/lib/client/components/QaWorkspaceBrowser.js +231 -0
- package/lib/client/components/QaWorkspaceBrowser.js.map +1 -0
- package/lib/client/index.js +127 -51
- package/lib/client/index.js.map +1 -1
- package/lib/client/kiosk.js +51 -0
- package/lib/client/kiosk.js.map +1 -0
- package/lib/client/markdown/blocks.js +122 -7
- package/lib/client/markdown/blocks.js.map +1 -1
- package/lib/client/markdown/inline.js +108 -12
- package/lib/client/markdown/inline.js.map +1 -1
- package/lib/client/markdown/katex-css.js +12 -0
- package/lib/client/markdown/katex-css.js.map +1 -0
- package/lib/client/markdown/math.js +84 -0
- package/lib/client/markdown/math.js.map +1 -0
- package/lib/client/markdown/render.js +74 -5
- package/lib/client/markdown/render.js.map +1 -1
- package/lib/client/project-session-state.js +15 -2
- package/lib/client/project-session-state.js.map +1 -1
- package/lib/client/prompt-content.js +26 -0
- package/lib/client/prompt-content.js.map +1 -1
- package/lib/client/settings/card.js +2 -2
- package/lib/client/settings/card.js.map +1 -1
- package/lib/client/settings/sections/lockdown.js +1 -6
- package/lib/client/settings/sections/lockdown.js.map +1 -1
- package/lib/client/settings/sections/notes.js +46 -0
- package/lib/client/settings/sections/notes.js.map +1 -0
- package/lib/client/settings/sections/slash.js +57 -0
- package/lib/client/settings/sections/slash.js.map +1 -0
- package/lib/client/settings/sections/sources.js +4 -1
- package/lib/client/settings/sections/sources.js.map +1 -1
- package/lib/client/settings/sections/status.js +9 -1
- package/lib/client/settings/sections/status.js.map +1 -1
- package/lib/client/settings/sections.js +2 -0
- package/lib/client/settings/sections.js.map +1 -1
- package/lib/client/settlement.js +1 -1
- package/lib/client/settlement.js.map +1 -1
- package/lib/client/slash/SlashPalette.js +48 -0
- package/lib/client/slash/SlashPalette.js.map +1 -0
- package/lib/client/slash/copy.js +54 -0
- package/lib/client/slash/copy.js.map +1 -0
- package/lib/client/slash/slash-router.js +49 -0
- package/lib/client/slash/slash-router.js.map +1 -0
- package/lib/client/slash/useSlashNavigation.js +95 -0
- package/lib/client/slash/useSlashNavigation.js.map +1 -0
- package/lib/client/source-preview.js +3 -0
- package/lib/client/source-preview.js.map +1 -1
- package/lib/client/styles.js +145 -16
- package/lib/client/styles.js.map +1 -1
- package/lib/client/types.js +11 -0
- package/lib/client/types.js.map +1 -1
- package/lib/client.js +33548 -1876
- package/lib/client.js.map +1 -1
- package/lib/config-resolvers/basics.js +11 -2
- package/lib/config-resolvers/basics.js.map +1 -1
- package/lib/config-resolvers/defaults.js +32 -0
- package/lib/config-resolvers/defaults.js.map +1 -1
- package/lib/config-resolvers/lockdown.js +8 -2
- package/lib/config-resolvers/lockdown.js.map +1 -1
- package/lib/config-resolvers/notes.js +24 -0
- package/lib/config-resolvers/notes.js.map +1 -0
- package/lib/config-resolvers/slash-commands.js +60 -0
- package/lib/config-resolvers/slash-commands.js.map +1 -0
- package/lib/config-resolvers/sources.js +4 -0
- package/lib/config-resolvers/sources.js.map +1 -1
- package/lib/config.js +96 -2
- package/lib/config.js.map +1 -1
- package/lib/index.js +309 -11
- package/lib/index.js.map +1 -1
- package/lib/personal-skills/service.js +16 -3
- package/lib/personal-skills/service.js.map +1 -1
- package/lib/prompt-notes.js +45 -6
- package/lib/prompt-notes.js.map +1 -1
- package/lib/provenance/document-preview.js +51 -0
- package/lib/provenance/document-preview.js.map +1 -0
- package/lib/provenance/file-preview.js +191 -19
- package/lib/provenance/file-preview.js.map +1 -1
- package/lib/provenance/host-store.js +18 -1
- package/lib/provenance/host-store.js.map +1 -1
- package/lib/qa-tools/catalog.js +7 -1
- package/lib/qa-tools/catalog.js.map +1 -1
- package/lib/qa-tools/file-delete-gate.js +60 -0
- package/lib/qa-tools/file-delete-gate.js.map +1 -0
- package/lib/qa-tools/file-delete.js +156 -0
- package/lib/qa-tools/file-delete.js.map +1 -0
- package/lib/questions.js +90 -43
- package/lib/questions.js.map +1 -1
- package/lib/resolve-config.js +7 -0
- package/lib/resolve-config.js.map +1 -1
- package/lib/secure-session.js +24 -0
- package/lib/secure-session.js.map +1 -1
- package/lib/shared/documents.js +22 -0
- package/lib/shared/documents.js.map +1 -0
- package/lib/slash/catalog.js +77 -0
- package/lib/slash/catalog.js.map +1 -0
- package/lib/slash/matcher.js +100 -0
- package/lib/slash/matcher.js.map +1 -0
- package/lib/slash/parser.js +79 -0
- package/lib/slash/parser.js.map +1 -0
- package/lib/slash/policy.js +72 -0
- package/lib/slash/policy.js.map +1 -0
- package/lib/slash/remotes.js +272 -0
- package/lib/slash/remotes.js.map +1 -0
- package/lib/typert.host.js +544 -56
- package/lib/typert.remote-client.d.ts +13 -1
- package/lib/typert.remote-client.js +435 -53
- package/lib/types/access/capability-catalog.d.ts +28 -1
- package/lib/types/access/service.d.ts +33 -4
- package/lib/types/accounts/errors.d.ts +7 -1
- package/lib/types/accounts/store.d.ts +12 -0
- package/lib/types/admin/quality-store.d.ts +18 -0
- package/lib/types/admin/service.d.ts +34 -2
- package/lib/types/admin/session-log.d.ts +65 -1
- package/lib/types/client/QaSessionController.d.ts +84 -2
- package/lib/types/client/QaSurface.d.ts +14 -1
- package/lib/types/client/admin/pages/Conversations.d.ts +4 -0
- package/lib/types/client/admin/shared.d.ts +2 -0
- package/lib/types/client/audit/QaAuditDialog.d.ts +21 -0
- package/lib/types/client/audit/QaAuditRowBadge.d.ts +18 -0
- package/lib/types/client/audit/controller.d.ts +27 -0
- package/lib/types/client/audit/types.d.ts +72 -0
- package/lib/types/client/audit/use-chat-audits.d.ts +20 -0
- package/lib/types/client/base64.d.ts +13 -1
- package/lib/types/client/components/QaAgentsDrawer.d.ts +2 -1
- package/lib/types/client/components/QaComposer.d.ts +12 -2
- package/lib/types/client/components/QaFilesPanel.d.ts +16 -4
- package/lib/types/client/components/QaHeader.d.ts +9 -3
- package/lib/types/client/components/QaModal.d.ts +4 -3
- package/lib/types/client/components/QaQuestions.d.ts +7 -0
- package/lib/types/client/components/QaSidebar.d.ts +8 -0
- package/lib/types/client/components/QaWidthHandle.d.ts +48 -2
- package/lib/types/client/components/QaWorkspaceBrowser.d.ts +15 -0
- package/lib/types/client/index.d.ts +1 -1
- package/lib/types/client/kiosk.d.ts +34 -0
- package/lib/types/client/markdown/blocks.d.ts +14 -1
- package/lib/types/client/markdown/inline.d.ts +23 -7
- package/lib/types/client/markdown/katex-css.d.ts +11 -0
- package/lib/types/client/markdown/math.d.ts +23 -0
- package/lib/types/client/markdown/render.d.ts +2 -1
- package/lib/types/client/project-session-state.d.ts +3 -1
- package/lib/types/client/prompt-content.d.ts +9 -1
- package/lib/types/client/settings/sections/notes.d.ts +10 -0
- package/lib/types/client/settings/sections/slash.d.ts +16 -0
- package/lib/types/client/settings/sections.d.ts +2 -0
- package/lib/types/client/settlement.d.ts +4 -1
- package/lib/types/client/slash/SlashPalette.d.ts +24 -0
- package/lib/types/client/slash/copy.d.ts +30 -0
- package/lib/types/client/slash/slash-router.d.ts +67 -0
- package/lib/types/client/slash/useSlashNavigation.d.ts +47 -0
- package/lib/types/client/styles.d.ts +22 -0
- package/lib/types/client/types.d.ts +65 -1
- package/lib/types/config-resolvers/notes.d.ts +10 -0
- package/lib/types/config-resolvers/slash-commands.d.ts +20 -0
- package/lib/types/index.d.ts +116 -1
- package/lib/types/personal-skills/service.d.ts +5 -0
- package/lib/types/prompt-notes.d.ts +9 -0
- package/lib/types/provenance/document-preview.d.ts +24 -0
- package/lib/types/provenance/file-preview.d.ts +69 -2
- package/lib/types/provenance/host-store.d.ts +13 -0
- package/lib/types/qa-tools/catalog.d.ts +1 -1
- package/lib/types/qa-tools/file-delete-gate.d.ts +42 -0
- package/lib/types/qa-tools/file-delete.d.ts +32 -0
- package/lib/types/questions.d.ts +8 -0
- package/lib/types/shared/documents.d.ts +20 -0
- package/lib/types/slash/catalog.d.ts +56 -0
- package/lib/types/slash/matcher.d.ts +51 -0
- package/lib/types/slash/parser.d.ts +46 -0
- package/lib/types/slash/policy.d.ts +40 -0
- package/lib/types/slash/remotes.d.ts +35 -0
- package/lib/types/types.d.ts +293 -6
- package/lib/types/ui-mode.d.ts +18 -0
- package/lib/ui-mode.js +22 -0
- package/lib/ui-mode.js.map +1 -0
- package/package.json +15 -9
- package/scripts/attach-workspace-sessions.mjs +472 -0
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
3
|
+
import { formatFileSize } from "../attachments.js";
|
|
4
|
+
import { base64ToBytes } from "../base64.js";
|
|
5
|
+
import { isConvertibleDocument } from "../../shared/documents.js";
|
|
6
|
+
import { sourcePreviewFailureCopy } from "../source-preview.js";
|
|
7
|
+
import { Markdown } from "./Markdown.js";
|
|
8
|
+
import { QaModal } from "./QaModal.js";
|
|
9
|
+
/** Name of one entry: the last path segment, root spelled as the directory. */
|
|
10
|
+
function entryName(path) {
|
|
11
|
+
const parts = path.split("/");
|
|
12
|
+
return parts[parts.length - 1] ?? path;
|
|
13
|
+
}
|
|
14
|
+
/** Path join for the panel's own navigation, never leaving the chat root. */
|
|
15
|
+
function joinPath(directory, name) {
|
|
16
|
+
return directory === "" ? name : `${directory}/${name}`;
|
|
17
|
+
}
|
|
18
|
+
/** The breadcrumb of one directory: root label plus one crumb per segment. */
|
|
19
|
+
function crumbsOf(path) {
|
|
20
|
+
const crumbs = [
|
|
21
|
+
{ label: "Рабочий каталог", path: "" },
|
|
22
|
+
];
|
|
23
|
+
let current = "";
|
|
24
|
+
for (const segment of path.split("/")) {
|
|
25
|
+
if (segment === "")
|
|
26
|
+
continue;
|
|
27
|
+
current = joinPath(current, segment);
|
|
28
|
+
crumbs.push({ label: segment, path: current });
|
|
29
|
+
}
|
|
30
|
+
return crumbs;
|
|
31
|
+
}
|
|
32
|
+
/** Hand one file to the browser's download machinery. */
|
|
33
|
+
function downloadFile(file) {
|
|
34
|
+
const bytes = file.base64 === undefined
|
|
35
|
+
? new TextEncoder().encode(file.text ?? "")
|
|
36
|
+
: base64ToBytes(file.base64);
|
|
37
|
+
const url = URL.createObjectURL(new Blob([bytes], { type: file.mime }));
|
|
38
|
+
const anchor = document.createElement("a");
|
|
39
|
+
anchor.href = url;
|
|
40
|
+
anchor.download = entryName(file.path);
|
|
41
|
+
anchor.rel = "noreferrer";
|
|
42
|
+
document.body.append(anchor);
|
|
43
|
+
anchor.click();
|
|
44
|
+
anchor.remove();
|
|
45
|
+
URL.revokeObjectURL(url);
|
|
46
|
+
}
|
|
47
|
+
/** One row of the listing: a directory to descend into or a file to open. */
|
|
48
|
+
function EntryRow({ entry, directory, onOpenFile, onOpenDirectory, }) {
|
|
49
|
+
const path = joinPath(directory, entry.name);
|
|
50
|
+
return (_jsx("li", { className: "dsh-qa-ws__row", children: _jsxs("button", { type: "button", className: "dsh-qa-ws__entry", "data-kind": entry.type, onClick: () => entry.type === "directory" ? onOpenDirectory(path) : onOpenFile(path), children: [_jsx("span", { className: "dsh-qa-ws__icon", "aria-hidden": "true", children: _jsx("svg", { viewBox: "0 0 14 14", children: entry.type === "directory" ? (_jsx("path", { d: "M1.75 3.5h4l1 1.25h4.5v5.75h-9.5z" })) : (_jsx("path", { d: "M3.25 1.75h5l2.5 2.5v8h-7.5zM8.25 1.75v2.5h2.5" })) }) }), _jsx("span", { className: "dsh-qa-ws__name", children: entry.name }), entry.size === null ? null : (_jsx("span", { className: "dsh-qa-ws__size", children: formatFileSize(entry.size) }))] }) }));
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Object URL for a PDF body, revoked when the payload changes or the panel
|
|
54
|
+
* closes. A blob URL is what lets the browser's own viewer draw the document
|
|
55
|
+
* without the bytes ever leaving the page.
|
|
56
|
+
*/
|
|
57
|
+
function usePdfUrl(payload) {
|
|
58
|
+
const [url, setUrl] = useState(null);
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
if (payload === undefined) {
|
|
61
|
+
setUrl(null);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const objectUrl = URL.createObjectURL(new Blob([base64ToBytes(payload)], {
|
|
65
|
+
type: "application/pdf",
|
|
66
|
+
}));
|
|
67
|
+
setUrl(objectUrl);
|
|
68
|
+
return () => URL.revokeObjectURL(objectUrl);
|
|
69
|
+
}, [payload]);
|
|
70
|
+
return url;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The opened file's content, shared by the rail and the expanded dialog: an
|
|
74
|
+
* image inline, a PDF through the browser's viewer, Markdown or plain text, and
|
|
75
|
+
* anything else as an honest handle rather than a guess in the wrong alphabet.
|
|
76
|
+
*/
|
|
77
|
+
function FileBody({ file, raw, converted, converting, conversionFailure, }) {
|
|
78
|
+
const nativePdf = file.mime === "application/pdf" && !file.truncated
|
|
79
|
+
? file.base64
|
|
80
|
+
: undefined;
|
|
81
|
+
const pdf = usePdfUrl(converted?.base64 ?? nativePdf);
|
|
82
|
+
if (file.mime.startsWith("image/") && file.base64 !== undefined) {
|
|
83
|
+
return (_jsx("img", { className: "dsh-qa-ws__image", alt: entryName(file.path), src: `data:${file.mime};base64,${file.base64}` }));
|
|
84
|
+
}
|
|
85
|
+
if (pdf !== null) {
|
|
86
|
+
return (_jsx("iframe", { className: "dsh-qa-ws__pdf", title: entryName(file.path), src: pdf }));
|
|
87
|
+
}
|
|
88
|
+
if (converting) {
|
|
89
|
+
return _jsx("p", { className: "dsh-qa-ws__status", children: "\u0413\u043E\u0442\u043E\u0432\u043B\u044E \u043F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u2026" });
|
|
90
|
+
}
|
|
91
|
+
if (file.text === undefined) {
|
|
92
|
+
return (_jsx("p", { className: "dsh-qa-ws__status", children: isConvertibleDocument(file.mime)
|
|
93
|
+
? conversionFailure
|
|
94
|
+
: file.truncated
|
|
95
|
+
? "Файл больше предела предпросмотра — показана только его часть."
|
|
96
|
+
: "Файл не читается как текст — его можно скачать целиком." }));
|
|
97
|
+
}
|
|
98
|
+
if (file.markdown && file.renderableMarkdown && !raw) {
|
|
99
|
+
return _jsx(Markdown, { text: file.text });
|
|
100
|
+
}
|
|
101
|
+
return _jsx("pre", { className: "dsh-qa-ws__text", children: file.text });
|
|
102
|
+
}
|
|
103
|
+
/** The opened file in the rail: chrome, the read/write toggles, and the body. */
|
|
104
|
+
function FilePreview({ file, status, raw, converted, converting, conversionFailure, onToggleRaw, onBack, onExpand, }) {
|
|
105
|
+
if (status !== "ready" || file === undefined) {
|
|
106
|
+
return (_jsxs("div", { className: "dsh-qa-ws__preview", children: [_jsx("button", { type: "button", className: "dsh-qa-ws__back", onClick: onBack, children: "\u2190 \u041A \u0444\u0430\u0439\u043B\u0430\u043C" }), _jsx("p", { className: "dsh-qa-ws__status", children: status === "loading" ? "Открываю файл…" : "Файл недоступен." })] }));
|
|
107
|
+
}
|
|
108
|
+
return (_jsxs("div", { className: "dsh-qa-ws__preview", children: [_jsxs("div", { className: "dsh-qa-ws__preview-head", children: [_jsx("button", { type: "button", className: "dsh-qa-ws__back", onClick: onBack, children: "\u2190 \u041A \u0444\u0430\u0439\u043B\u0430\u043C" }), _jsx("span", { className: "dsh-qa-ws__preview-name", title: file.path, children: entryName(file.path) }), _jsx("button", { type: "button", className: "dsh-qa-ws__expand", "aria-label": "\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0444\u0430\u0439\u043B", title: "\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C", onClick: onExpand, children: _jsx("svg", { viewBox: "0 0 14 14", "aria-hidden": "true", children: _jsx("path", { d: "M5.5 2.25H2.25v3.25m6.25-3.25h3.25v3.25m0 3.25v3.25H8.5m-6.25-3.25v3.25h3.25" }) }) }), _jsx("button", { type: "button", className: "dsh-qa-ws__download", onClick: () => downloadFile(file), children: "\u0421\u043A\u0430\u0447\u0430\u0442\u044C" })] }), _jsxs("p", { className: "dsh-qa-ws__meta", children: [formatFileSize(file.size), file.truncated ? " · показана только часть файла" : ""] }), file.markdown && file.renderableMarkdown ? (_jsx("button", { type: "button", className: "dsh-qa-ws__toggle", "aria-pressed": raw, onClick: onToggleRaw, children: raw ? "Показать разметкой" : "Показать исходником" })) : null, _jsx(FileBody, { file: file, raw: raw, converted: converted, converting: converting, conversionFailure: conversionFailure })] }));
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* The chat's own workspace, browsable from the files rail.
|
|
112
|
+
*
|
|
113
|
+
* One directory at a time: the Host lists a directory, the panel descends into
|
|
114
|
+
* its children and never travels by path, so a link in a listing cannot walk
|
|
115
|
+
* the visitor out of the chat's tree. Opening a file reads exactly that file —
|
|
116
|
+
* text inline, anything else as a downloadable handle.
|
|
117
|
+
*/
|
|
118
|
+
export function QaWorkspaceBrowser({ sessionId, api, }) {
|
|
119
|
+
const [directory, setDirectory] = useState("");
|
|
120
|
+
const [entries, setEntries] = useState([]);
|
|
121
|
+
const [truncated, setTruncated] = useState(false);
|
|
122
|
+
const [listStatus, setListStatus] = useState("loading");
|
|
123
|
+
const [listFailure, setListFailure] = useState("");
|
|
124
|
+
const [file, setFile] = useState(undefined);
|
|
125
|
+
const [fileStatus, setFileStatus] = useState("loading");
|
|
126
|
+
const [opened, setOpened] = useState(null);
|
|
127
|
+
const [converted, setConverted] = useState(undefined);
|
|
128
|
+
const [converting, setConverting] = useState(false);
|
|
129
|
+
const [conversionFailure, setConversionFailure] = useState("");
|
|
130
|
+
const [raw, setRaw] = useState(false);
|
|
131
|
+
const [expanded, setExpanded] = useState(false);
|
|
132
|
+
const generation = useRef(0);
|
|
133
|
+
useEffect(() => {
|
|
134
|
+
const current = generation.current + 1;
|
|
135
|
+
generation.current = current;
|
|
136
|
+
setListStatus("loading");
|
|
137
|
+
api.listWorkspaceFiles(sessionId, directory).then((result) => {
|
|
138
|
+
if (generation.current !== current)
|
|
139
|
+
return;
|
|
140
|
+
if (!result.ok) {
|
|
141
|
+
setListFailure(sourcePreviewFailureCopy(result.error));
|
|
142
|
+
setListStatus("refused");
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
setEntries(result.value.entries);
|
|
146
|
+
setTruncated(result.value.truncated);
|
|
147
|
+
setListStatus("ready");
|
|
148
|
+
}, (failure) => {
|
|
149
|
+
if (generation.current !== current)
|
|
150
|
+
return;
|
|
151
|
+
setListFailure(sourcePreviewFailureCopy(failure));
|
|
152
|
+
setListStatus("refused");
|
|
153
|
+
});
|
|
154
|
+
}, [api, directory, sessionId]);
|
|
155
|
+
/**
|
|
156
|
+
* Ask the Host for a renderable copy when the bytes themselves are not
|
|
157
|
+
* drawable — a Word document arrives as the PDF the document pipeline made of
|
|
158
|
+
* it. The panel keeps the file's own bytes either way, so download never
|
|
159
|
+
* depends on the conversion succeeding.
|
|
160
|
+
*/
|
|
161
|
+
const convert = useCallback((path) => {
|
|
162
|
+
setConverted(undefined);
|
|
163
|
+
setConversionFailure("");
|
|
164
|
+
setConverting(true);
|
|
165
|
+
api.previewWorkspaceDocument(sessionId, path).then((result) => {
|
|
166
|
+
setOpened((current) => {
|
|
167
|
+
if (current !== path)
|
|
168
|
+
return current;
|
|
169
|
+
setConverting(false);
|
|
170
|
+
if (result.ok) {
|
|
171
|
+
setConverted(result.value);
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
setConversionFailure(sourcePreviewFailureCopy(result.error));
|
|
175
|
+
}
|
|
176
|
+
return current;
|
|
177
|
+
});
|
|
178
|
+
}, (failure) => {
|
|
179
|
+
setOpened((current) => {
|
|
180
|
+
if (current !== path)
|
|
181
|
+
return current;
|
|
182
|
+
setConverting(false);
|
|
183
|
+
setConversionFailure(sourcePreviewFailureCopy(failure));
|
|
184
|
+
return current;
|
|
185
|
+
});
|
|
186
|
+
});
|
|
187
|
+
}, [api, sessionId]);
|
|
188
|
+
const openFile = useCallback((path) => {
|
|
189
|
+
setOpened(path);
|
|
190
|
+
setFile(undefined);
|
|
191
|
+
setFileStatus("loading");
|
|
192
|
+
setConverted(undefined);
|
|
193
|
+
setConversionFailure("");
|
|
194
|
+
setConverting(false);
|
|
195
|
+
setRaw(false);
|
|
196
|
+
setExpanded(false);
|
|
197
|
+
api.readWorkspaceFile(sessionId, path).then((result) => {
|
|
198
|
+
setOpened((current) => {
|
|
199
|
+
if (current !== path)
|
|
200
|
+
return current;
|
|
201
|
+
if (result.ok) {
|
|
202
|
+
setFile(result.value);
|
|
203
|
+
setFileStatus("ready");
|
|
204
|
+
if (isConvertibleDocument(result.value.mime))
|
|
205
|
+
convert(path);
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
setFileStatus("refused");
|
|
209
|
+
}
|
|
210
|
+
return current;
|
|
211
|
+
});
|
|
212
|
+
}, () => {
|
|
213
|
+
setOpened((current) => {
|
|
214
|
+
if (current === path)
|
|
215
|
+
setFileStatus("refused");
|
|
216
|
+
return current;
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
}, [api, convert, sessionId]);
|
|
220
|
+
if (opened !== null) {
|
|
221
|
+
const closeFile = () => {
|
|
222
|
+
setOpened(null);
|
|
223
|
+
setFile(undefined);
|
|
224
|
+
setExpanded(false);
|
|
225
|
+
};
|
|
226
|
+
return (_jsxs("div", { className: "dsh-qa-ws", children: [_jsx(FilePreview, { file: file, status: fileStatus, raw: raw, converted: converted, converting: converting, conversionFailure: conversionFailure, onToggleRaw: () => setRaw((value) => !value), onBack: closeFile, onExpand: () => setExpanded(true) }), _jsx(QaModal, { open: expanded && file !== undefined, size: "document", title: file === undefined ? "" : entryName(file.path), closeLabel: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0444\u0430\u0439\u043B", onClose: () => setExpanded(false), children: _jsxs("div", { className: "dsh-qa-ws__expanded", children: [_jsxs("p", { className: "dsh-qa-ws__meta", children: [formatFileSize(file?.size ?? 0), file?.truncated === true ? " · показана только часть файла" : ""] }), file === undefined ? null : (_jsx(FileBody, { file: file, raw: raw, converted: converted, converting: converting, conversionFailure: conversionFailure }))] }) })] }));
|
|
227
|
+
}
|
|
228
|
+
const crumbs = crumbsOf(directory);
|
|
229
|
+
return (_jsxs("div", { className: "dsh-qa-ws", children: [_jsx("nav", { className: "dsh-qa-ws__crumbs", "aria-label": "\u041F\u0443\u0442\u044C \u0432 \u0440\u0430\u0431\u043E\u0447\u0435\u043C \u043A\u0430\u0442\u0430\u043B\u043E\u0433\u0435", children: crumbs.map((crumb, index) => (_jsxs("span", { children: [index > 0 ? _jsx("span", { "aria-hidden": "true", children: "/" }) : null, _jsx("button", { type: "button", className: "dsh-qa-ws__crumb", "aria-current": index === crumbs.length - 1 ? "true" : undefined, onClick: () => setDirectory(crumb.path), children: crumb.label })] }, crumb.path))) }), listStatus === "loading" ? (_jsx("p", { className: "dsh-qa-ws__status", children: "\u0427\u0438\u0442\u0430\u044E \u043A\u0430\u0442\u0430\u043B\u043E\u0433\u2026" })) : listStatus === "refused" ? (_jsx("p", { className: "dsh-qa-ws__status", children: listFailure })) : entries.length === 0 ? (_jsx("p", { className: "dsh-qa-ws__status", children: "\u041A\u0430\u0442\u0430\u043B\u043E\u0433 \u043F\u0443\u0441\u0442." })) : (_jsx("ul", { className: "dsh-qa-ws__list", children: entries.map((entry) => (_jsx(EntryRow, { entry: entry, directory: directory, onOpenFile: openFile, onOpenDirectory: setDirectory }, `${entry.type}:${entry.name}`))) })), truncated ? (_jsx("p", { className: "dsh-qa-ws__status", children: "\u041F\u043E\u043A\u0430\u0437\u0430\u043D\u044B \u043D\u0435 \u0432\u0441\u0435 \u0444\u0430\u0439\u043B\u044B \u043A\u0430\u0442\u0430\u043B\u043E\u0433\u0430." })) : null] }));
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=QaWorkspaceBrowser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QaWorkspaceBrowser.js","sourceRoot":"","sources":["../../../src/client/components/QaWorkspaceBrowser.tsx"],"names":[],"mappings":"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"}
|
package/lib/client/index.js
CHANGED
|
@@ -7,7 +7,10 @@ import { QaChatIndex } from "./chat-index.js";
|
|
|
7
7
|
import { isDelegatedSession } from "./lineage.js";
|
|
8
8
|
import { QaSurfaceGuard } from "./QaSurfaceGuard.js";
|
|
9
9
|
import { QaWelcomeNoticeStep } from "./components/QaWelcomeNotice.js";
|
|
10
|
-
import {
|
|
10
|
+
import { QA_OVERLAY_STYLES, QA_ROOT_STYLES } from "./styles.js";
|
|
11
|
+
import { qaKioskBasePath, qaKioskMode } from "./kiosk.js";
|
|
12
|
+
import { QaAuditController } from "./audit/controller.js";
|
|
13
|
+
import { createQaAuditApi } from "./audit/types.js";
|
|
11
14
|
import { QA_SURFACE_SETTINGS_NAMESPACE } from "../shared/settings.js";
|
|
12
15
|
import { qaStorageNamespace } from "../shared/session-key.js";
|
|
13
16
|
import { QaSettingsCard } from "./settings/card.js";
|
|
@@ -16,6 +19,15 @@ import { QaSurfacePanelRegistry } from "./panels/registry.js";
|
|
|
16
19
|
import { QaUserSettingsSectionRegistry } from "./settings-extensions/index.js";
|
|
17
20
|
import { QaUserSessionMirror } from "./settings-extensions/user-session.js";
|
|
18
21
|
const QA_WELCOME_SLOT_ID = "welcome-notice";
|
|
22
|
+
/**
|
|
23
|
+
* Priority of the kiosk root registration. 'root' is a single slot whose
|
|
24
|
+
* lowest-priority entry renders, so this must sit below the ui-layout
|
|
25
|
+
* fail-safe occupant's priority (1000 in the kiosk branch) — the surface
|
|
26
|
+
* shadows the static error screen the moment it registers, and if this
|
|
27
|
+
* registration never happens, the error screen is what the user sees instead
|
|
28
|
+
* of a native shell.
|
|
29
|
+
*/
|
|
30
|
+
const QA_ROOT_OWNER_PRIORITY = -1000;
|
|
19
31
|
function qaWelcomeStorageKey(config) {
|
|
20
32
|
return `${qaStorageNamespace(config)}:welcome-notice`;
|
|
21
33
|
}
|
|
@@ -27,14 +39,24 @@ export const inject = [
|
|
|
27
39
|
"settingsScope",
|
|
28
40
|
"remote",
|
|
29
41
|
];
|
|
30
|
-
/** Register the route-aware, full-frame QA entry in the additive overlay slot. */
|
|
42
|
+
/** Register the route-aware, full-frame QA entry: root owner in the kiosk, additive overlay slot otherwise. */
|
|
31
43
|
export async function apply(ctx) {
|
|
44
|
+
// The presentation is a property of the deployment, published once in the
|
|
45
|
+
// document prelude: kiosk = the surface owns the 'root' slot, overlay = the
|
|
46
|
+
// surface covers the native shell from 'shell.overlay'. Read once here —
|
|
47
|
+
// the prelude runs before any application script, so the answer is final
|
|
48
|
+
// for this page load.
|
|
49
|
+
const kiosk = qaKioskMode();
|
|
32
50
|
const panels = new QaSurfacePanelRegistry();
|
|
33
51
|
const settingsSections = new QaUserSettingsSectionRegistry();
|
|
34
52
|
// Cards that mount outside the QA overlay (the host's plugin settings) read
|
|
35
53
|
// the signed-in account through this service; the overlay's own controllers
|
|
36
54
|
// stay the authority and attach to it below.
|
|
37
55
|
const userSession = new QaUserSessionMirror();
|
|
56
|
+
// The audit provider is an optional peer: its namespace is attached when the
|
|
57
|
+
// audit plugin's client bundle is present and detached when it goes away.
|
|
58
|
+
const audit = new QaAuditController();
|
|
59
|
+
ctx.effect(() => () => audit.dispose(), "dsh-qa-surface: audit controller");
|
|
38
60
|
ctx.effect(() => {
|
|
39
61
|
const removeService = ctx.provide("qaSurfacePanels", panels);
|
|
40
62
|
return () => {
|
|
@@ -60,6 +82,13 @@ export async function apply(ctx) {
|
|
|
60
82
|
const disposeRemote = await remote.$mount(qaSurfaceRemote);
|
|
61
83
|
await ctx.inject(["remote.qaSurface", "remote.session", "remote.agentPresets"], (remoteContext) => {
|
|
62
84
|
const injectedRemote = remoteContext.remote;
|
|
85
|
+
// Absent audit plugin => this callback never runs => no badge, no
|
|
86
|
+
// dialog, and nothing else about the surface changes (SPEC §48).
|
|
87
|
+
remoteContext.inject(["remote.sessionAudit"], (auditContext) => {
|
|
88
|
+
const mounted = auditContext.remote;
|
|
89
|
+
audit.attach(createQaAuditApi(mounted.sessionAudit));
|
|
90
|
+
return () => audit.detach();
|
|
91
|
+
});
|
|
63
92
|
// Keep source checks independent of a previously generated lib/ Remote
|
|
64
93
|
// declaration. The handwritten face is the same contract the generator
|
|
65
94
|
// validates during build.
|
|
@@ -88,6 +117,7 @@ export async function apply(ctx) {
|
|
|
88
117
|
updateUser: (token, userId, update) => policyRemote.adminUpdateUser(token, userId, update),
|
|
89
118
|
conversations: (token, query, cursor, limit) => policyRemote.adminConversations(token, query, cursor, limit),
|
|
90
119
|
conversation: (token, conversationId) => policyRemote.adminConversation(token, conversationId),
|
|
120
|
+
deleteConversation: (token, conversationId) => policyRemote.adminDeleteConversation(token, conversationId),
|
|
91
121
|
feedback: (token, query, cursor, limit) => policyRemote.adminFeedback(token, query, cursor, limit),
|
|
92
122
|
rateMessage: (token, conversationId, messageId, input) => policyRemote.adminRateMessage(token, conversationId, messageId, input),
|
|
93
123
|
reviewQueue: (token, cursor, limit) => policyRemote.adminReviewQueue(token, cursor, limit),
|
|
@@ -99,6 +129,9 @@ export async function apply(ctx) {
|
|
|
99
129
|
const sourceApi = {
|
|
100
130
|
sources: (token, sessionId) => policyRemote.sources(token, sessionId),
|
|
101
131
|
readSourceFile: (token, sessionId, sourcePath) => policyRemote.readSourceFile(token, sessionId, sourcePath),
|
|
132
|
+
listWorkspaceFiles: (token, sessionId, path) => policyRemote.listWorkspaceFiles(token, sessionId, path),
|
|
133
|
+
readWorkspaceFile: (token, sessionId, path) => policyRemote.readWorkspaceFile(token, sessionId, path),
|
|
134
|
+
previewWorkspaceDocument: (token, sessionId, path) => policyRemote.previewWorkspaceDocument(token, sessionId, path),
|
|
102
135
|
};
|
|
103
136
|
const questionApi = {
|
|
104
137
|
pendingQuestions: (token, sessionId) => policyRemote.pendingQuestions(token, sessionId),
|
|
@@ -121,6 +154,10 @@ export async function apply(ctx) {
|
|
|
121
154
|
pendingApprovals: (token, sessionId) => policyRemote.pendingApprovals(token, sessionId),
|
|
122
155
|
answerApproval: (token, sessionId, requestId, decision) => policyRemote.answerApproval(token, sessionId, requestId, decision),
|
|
123
156
|
};
|
|
157
|
+
const slashApi = {
|
|
158
|
+
catalog: (token, sessionId) => policyRemote.slashCatalog(token, sessionId),
|
|
159
|
+
execute: (token, sessionId, line, attachments) => policyRemote.slashExecute(token, sessionId, line, attachments),
|
|
160
|
+
};
|
|
124
161
|
// The account gate rides its own remote; a stale token simply answers
|
|
125
162
|
// "not authenticated" and the browser shows the login card.
|
|
126
163
|
const accounts = new QaAccountsController({
|
|
@@ -189,7 +226,17 @@ export async function apply(ctx) {
|
|
|
189
226
|
}, "dsh-qa-surface: settings-card");
|
|
190
227
|
const syncRoute = () => {
|
|
191
228
|
const snapshot = config.getSnapshot();
|
|
192
|
-
route
|
|
229
|
+
// Kiosk: the harness route policy serves the application under the
|
|
230
|
+
// base path it published in the prelude, so the route the page
|
|
231
|
+
// matches is that path — the plugin config row is the overlay
|
|
232
|
+
// composition's setting and would diverge from the server policy.
|
|
233
|
+
const effective = kiosk
|
|
234
|
+
? {
|
|
235
|
+
...snapshot.config,
|
|
236
|
+
route: { path: qaKioskBasePath(), matchChildren: true },
|
|
237
|
+
}
|
|
238
|
+
: snapshot.config;
|
|
239
|
+
route.configure(effective, snapshot.status === "ready" || snapshot.status === "unavailable");
|
|
193
240
|
};
|
|
194
241
|
syncRoute();
|
|
195
242
|
const unsubscribeConfig = config.subscribe(syncRoute);
|
|
@@ -254,7 +301,9 @@ export async function apply(ctx) {
|
|
|
254
301
|
ctx.effect(() => {
|
|
255
302
|
const style = document.createElement("style");
|
|
256
303
|
style.dataset.dshQaSurface = "styles";
|
|
257
|
-
|
|
304
|
+
// The kiosk sheet carries no host-hiding rules: nothing native mounts
|
|
305
|
+
// beneath the surface in that composition, so there is nothing to hide.
|
|
306
|
+
style.textContent = kiosk ? QA_ROOT_STYLES : QA_OVERLAY_STYLES;
|
|
258
307
|
document.head.append(style);
|
|
259
308
|
return () => style.remove();
|
|
260
309
|
}, "dsh-qa-surface: styles");
|
|
@@ -264,53 +313,80 @@ export async function apply(ctx) {
|
|
|
264
313
|
config.dispose();
|
|
265
314
|
route.dispose();
|
|
266
315
|
}, "dsh-qa-surface: controllers");
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
316
|
+
// The face both presentations hand to the guard. Read host services
|
|
317
|
+
// lazily (cordis service visibility), so assembly can fail here — the
|
|
318
|
+
// guard then renders the failure card instead of the entry crashing.
|
|
319
|
+
const qaFace = () => {
|
|
320
|
+
try {
|
|
321
|
+
return {
|
|
322
|
+
route,
|
|
323
|
+
config,
|
|
324
|
+
// The host dsh-session merge types ctx.sessions as SessionStore in
|
|
325
|
+
// this program; the client assembly provides the ISessions face.
|
|
326
|
+
sessions: ctx.sessions,
|
|
327
|
+
conversation: ctx.uiConversation,
|
|
328
|
+
api: qaApi,
|
|
329
|
+
connection: ctx.connection.generation,
|
|
330
|
+
secureSession,
|
|
331
|
+
createSession: (token, subroleId, adminPreview) => policyRemote.createSession(token, subroleId, adminPreview),
|
|
332
|
+
accessApi,
|
|
333
|
+
adminApi,
|
|
334
|
+
sourceApi,
|
|
335
|
+
skillApi,
|
|
336
|
+
approvalApi,
|
|
337
|
+
questionApi,
|
|
338
|
+
slashApi,
|
|
339
|
+
accounts,
|
|
340
|
+
panels,
|
|
341
|
+
settingsSections,
|
|
342
|
+
audit,
|
|
343
|
+
// The upload service is optional on the page: a deployment that
|
|
344
|
+
// does not serve it keeps images, and a staged file refuses the
|
|
345
|
+
// send with a message instead of losing the draft. Read through
|
|
346
|
+
// the untyped service lookup on purpose — the QA bundle does not
|
|
347
|
+
// link the upload package.
|
|
348
|
+
fileUpload: () => ctx.get("fileUpload"),
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
catch {
|
|
352
|
+
return {};
|
|
353
|
+
}
|
|
354
|
+
};
|
|
355
|
+
if (kiosk) {
|
|
356
|
+
// The kiosk composition: the surface IS the application. Registering
|
|
357
|
+
// into 'root' (the runtime's single root slot) shadows the host's
|
|
358
|
+
// fail-safe occupant — a static error screen the ui-layout kiosk
|
|
359
|
+
// branch holds at a higher priority exactly for the case where this
|
|
360
|
+
// registration never happens. The panel seat is declared here so the
|
|
361
|
+
// extension panels keep resolving under the root owner.
|
|
362
|
+
//
|
|
363
|
+
// The call MUST stay attached to ctx.slots: the register
|
|
364
|
+
// implementation is a prototype function reading this.ctx (bound by
|
|
365
|
+
// the cordis service proxy at property-access time), so extracting
|
|
366
|
+
// it into a variable lands in a fiber-less context and throws. This
|
|
367
|
+
// program's type contract does not know the root's children seat
|
|
368
|
+
// (that is the host program's knowledge), hence the argument casts —
|
|
369
|
+
// they widen the arguments, never detach the receiver.
|
|
370
|
+
ctx.slots.register({
|
|
371
|
+
name: "root",
|
|
372
|
+
priority: QA_ROOT_OWNER_PRIORITY,
|
|
373
|
+
children: {
|
|
374
|
+
"qa.surface.panel": { kind: "keyed", scope: "root" },
|
|
375
|
+
},
|
|
376
|
+
inject: qaFace,
|
|
377
|
+
}, QaSurfaceGuard);
|
|
378
|
+
}
|
|
379
|
+
else {
|
|
380
|
+
ctx.slots.inject("shell.overlay", () => ctx.slots.register({
|
|
381
|
+
name: "shell.overlay",
|
|
382
|
+
id: "dsh-qa-surface",
|
|
383
|
+
order: -10_000,
|
|
384
|
+
children: {
|
|
385
|
+
"qa.surface.panel": { kind: "keyed", scope: "root" },
|
|
386
|
+
},
|
|
387
|
+
inject: qaFace,
|
|
388
|
+
}, QaSurfaceGuard));
|
|
389
|
+
}
|
|
314
390
|
});
|
|
315
391
|
return disposeRemote;
|
|
316
392
|
}
|
package/lib/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The QA kiosk presentation mode, as the client half of the plugin sees it.
|
|
3
|
+
*
|
|
4
|
+
* The harness publishes the deployment's UI mode into every served document
|
|
5
|
+
* ahead of the first application script (the index prelude injected for
|
|
6
|
+
* `DSH_UI_MODE=qa`): `window.DSH_UI_MODE` and, alongside it, the QA base path
|
|
7
|
+
* the server-side route policy serves the application under. The mode — not
|
|
8
|
+
* `location.pathname` — is what the client branches on: the route policy owns
|
|
9
|
+
* which paths carry a document at all, and a client that keyed off the
|
|
10
|
+
* pathname would re-introduce exactly the paths the policy closed.
|
|
11
|
+
*
|
|
12
|
+
* A document without the globals (a host without the kiosk patches, a plugin
|
|
13
|
+
* bundle served into an overlay deployment) reads as the overlay
|
|
14
|
+
* presentation: the `shell.overlay` registration this plugin has always
|
|
15
|
+
* used. That keeps one plugin build compatible with both compositions.
|
|
16
|
+
*/
|
|
17
|
+
/** Window global the harness prelude publishes for `DSH_UI_MODE=qa`. */
|
|
18
|
+
const UI_MODE_GLOBAL = "DSH_UI_MODE";
|
|
19
|
+
/** Window global naming the QA surface's base path in kiosk mode. */
|
|
20
|
+
const QA_BASE_PATH_GLOBAL = "DSH_QA_BASE_PATH";
|
|
21
|
+
/** The QA base path when the prelude published none. */
|
|
22
|
+
const DEFAULT_QA_BASE_PATH = "/qa";
|
|
23
|
+
/**
|
|
24
|
+
* Whether one URL pathname lives on a surface: the surface path itself or any
|
|
25
|
+
* child of it. A plain prefix check would also match `/qadmin` or `/qa-test`.
|
|
26
|
+
*/
|
|
27
|
+
export function matchesSurface(pathname, surface) {
|
|
28
|
+
return pathname === surface || pathname.startsWith(`${surface}/`);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Whether this browser was served by a QA kiosk deployment.
|
|
32
|
+
* @param target - the global object; overridable for tests.
|
|
33
|
+
*/
|
|
34
|
+
export function qaKioskMode(target = window) {
|
|
35
|
+
return target[UI_MODE_GLOBAL] === "qa";
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The QA surface's base path of a kiosk deployment, normalized: single
|
|
39
|
+
* leading slash, no trailing slash. A malformed value falls back to the
|
|
40
|
+
* default rather than disabling the mode.
|
|
41
|
+
* @param target - the global object; overridable for tests.
|
|
42
|
+
*/
|
|
43
|
+
export function qaKioskBasePath(target = window) {
|
|
44
|
+
const raw = target[QA_BASE_PATH_GLOBAL];
|
|
45
|
+
const value = typeof raw === "string" ? raw.trim() : "";
|
|
46
|
+
if (value === "" || !value.startsWith("/") || value.endsWith("/")) {
|
|
47
|
+
return DEFAULT_QA_BASE_PATH;
|
|
48
|
+
}
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=kiosk.js.map
|