@yadsh/dsh-qa-surface 0.6.0 → 0.7.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 +148 -9
- package/capability-policy.json +1 -1
- package/cordis.patch.yml +2 -1
- package/lib/access/capability-catalog.js +144 -0
- package/lib/access/capability-catalog.js.map +1 -0
- package/lib/access/model.js +379 -0
- package/lib/access/model.js.map +1 -0
- package/lib/access/role-repository.js +195 -0
- package/lib/access/role-repository.js.map +1 -0
- package/lib/access/service.js +380 -0
- package/lib/access/service.js.map +1 -0
- package/lib/access/skill-metadata.js +234 -0
- package/lib/access/skill-metadata.js.map +1 -0
- package/lib/account-remotes.js +20 -10
- package/lib/account-remotes.js.map +1 -1
- package/lib/accounts/errors.js.map +1 -1
- package/lib/accounts/file.js.map +1 -1
- package/lib/accounts/store.js +202 -3
- package/lib/accounts/store.js.map +1 -1
- package/lib/admin/conversation-log.js +256 -0
- package/lib/admin/conversation-log.js.map +1 -0
- package/lib/admin/index.js +17 -0
- package/lib/admin/index.js.map +1 -0
- package/lib/admin/metrics.js +103 -0
- package/lib/admin/metrics.js.map +1 -0
- package/lib/admin/paging.js +23 -0
- package/lib/admin/paging.js.map +1 -0
- package/lib/admin/permissions.js +50 -0
- package/lib/admin/permissions.js.map +1 -0
- package/lib/admin/quality-store.js +485 -0
- package/lib/admin/quality-store.js.map +1 -0
- package/lib/admin/queue.js +107 -0
- package/lib/admin/queue.js.map +1 -0
- package/lib/admin/redaction.js +45 -0
- package/lib/admin/redaction.js.map +1 -0
- package/lib/admin/service.js +897 -0
- package/lib/admin/service.js.map +1 -0
- package/lib/admin/session-log.js +142 -0
- package/lib/admin/session-log.js.map +1 -0
- package/lib/attestation.js +6 -0
- package/lib/attestation.js.map +1 -1
- package/lib/cli.js +9 -6
- package/lib/cli.js.map +1 -1
- package/lib/client/QaSessionController.js +65 -15
- package/lib/client/QaSessionController.js.map +1 -1
- package/lib/client/QaSurface.js +144 -6
- package/lib/client/QaSurface.js.map +1 -1
- package/lib/client/QaTranscriptAdapter.js +1 -0
- package/lib/client/QaTranscriptAdapter.js.map +1 -1
- package/lib/client/admin/QaAdmin.js +458 -0
- package/lib/client/admin/QaAdmin.js.map +1 -0
- package/lib/client/admin/format.js +177 -0
- package/lib/client/admin/format.js.map +1 -0
- package/lib/client/admin/pages/Conversations.js +114 -0
- package/lib/client/admin/pages/Conversations.js.map +1 -0
- package/lib/client/admin/pages/Overview.js +24 -0
- package/lib/client/admin/pages/Overview.js.map +1 -0
- package/lib/client/admin/pages/Quality.js +71 -0
- package/lib/client/admin/pages/Quality.js.map +1 -0
- package/lib/client/admin/pages/Review.js +93 -0
- package/lib/client/admin/pages/Review.js.map +1 -0
- package/lib/client/admin/pages/Users.js +95 -0
- package/lib/client/admin/pages/Users.js.map +1 -0
- package/lib/client/admin/routes.js +127 -0
- package/lib/client/admin/routes.js.map +1 -0
- package/lib/client/admin/shared.js +91 -0
- package/lib/client/admin/shared.js.map +1 -0
- package/lib/client/admin/styles.js +111 -0
- package/lib/client/admin/styles.js.map +1 -0
- package/lib/client/attestation.js +14 -2
- package/lib/client/attestation.js.map +1 -1
- package/lib/client/components/QaChangelog.js +48 -0
- package/lib/client/components/QaChangelog.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/QaMessage.js +61 -2
- package/lib/client/components/QaMessage.js.map +1 -1
- package/lib/client/create-session.js +1 -1
- package/lib/client/create-session.js.map +1 -1
- package/lib/client/index.js +33 -1
- package/lib/client/index.js.map +1 -1
- package/lib/client/project-session-state.js +10 -5
- package/lib/client/project-session-state.js.map +1 -1
- package/lib/client/role/RoleSelector.js +31 -0
- package/lib/client/role/RoleSelector.js.map +1 -0
- package/lib/client/session-sources.js +37 -1
- package/lib/client/session-sources.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.js +0 -1
- package/lib/client/settings/sections.js.map +1 -1
- package/lib/client/styles.js +32 -0
- package/lib/client/styles.js.map +1 -1
- package/lib/client/types.js +1 -0
- package/lib/client/types.js.map +1 -1
- package/lib/client.js +10786 -5684
- package/lib/client.js.map +1 -1
- package/lib/config-resolvers/defaults.js +0 -2
- package/lib/config-resolvers/defaults.js.map +1 -1
- package/lib/config.js +0 -249
- package/lib/config.js.map +1 -1
- package/lib/enforcement/skill-policy.js +172 -0
- package/lib/enforcement/skill-policy.js.map +1 -0
- package/lib/enforcement/tool-grants.js +151 -0
- package/lib/enforcement/tool-grants.js.map +1 -0
- package/lib/index.js +230 -44
- package/lib/index.js.map +1 -1
- package/lib/personal-skills/service.js +10 -3
- package/lib/personal-skills/service.js.map +1 -1
- package/lib/qa-tools/index.js +4 -0
- package/lib/qa-tools/index.js.map +1 -1
- package/lib/resolve-config.js +0 -2
- package/lib/resolve-config.js.map +1 -1
- package/lib/secure-session.js +111 -32
- package/lib/secure-session.js.map +1 -1
- package/lib/typert.host.js +2237 -202
- package/lib/typert.remote-client.d.ts +49 -3
- package/lib/typert.remote-client.js +1863 -183
- package/lib/types/access/capability-catalog.d.ts +37 -0
- package/lib/types/access/model.d.ts +60 -0
- package/lib/types/access/role-repository.d.ts +32 -0
- package/lib/types/access/service.d.ts +57 -0
- package/lib/types/access/skill-metadata.d.ts +53 -0
- package/lib/types/account-remotes.d.ts +6 -0
- package/lib/types/accounts/errors.d.ts +1 -1
- package/lib/types/accounts/file.d.ts +16 -5
- package/lib/types/accounts/store.d.ts +83 -3
- package/lib/types/admin/conversation-log.d.ts +39 -0
- package/lib/types/admin/index.d.ts +24 -0
- package/lib/types/admin/metrics.d.ts +29 -0
- package/lib/types/admin/paging.d.ts +33 -0
- package/lib/types/admin/permissions.d.ts +10 -0
- package/lib/types/admin/quality-store.d.ts +82 -0
- package/lib/types/admin/queue.d.ts +21 -0
- package/lib/types/admin/redaction.d.ts +29 -0
- package/lib/types/admin/service.d.ts +105 -0
- package/lib/types/admin/session-log.d.ts +53 -0
- package/lib/types/attestation.d.ts +2 -0
- package/lib/types/client/QaSessionController.d.ts +14 -1
- package/lib/types/client/QaSurface.d.ts +7 -1
- package/lib/types/client/admin/QaAdmin.d.ts +17 -0
- package/lib/types/client/admin/format.d.ts +43 -0
- package/lib/types/client/admin/pages/Conversations.d.ts +21 -0
- package/lib/types/client/admin/pages/Overview.d.ts +13 -0
- package/lib/types/client/admin/pages/Quality.d.ts +18 -0
- package/lib/types/client/admin/pages/Review.d.ts +15 -0
- package/lib/types/client/admin/pages/Users.d.ts +22 -0
- package/lib/types/client/admin/routes.d.ts +50 -0
- package/lib/types/client/admin/shared.d.ts +53 -0
- package/lib/types/client/admin/styles.d.ts +11 -0
- package/lib/types/client/attestation.d.ts +8 -1
- package/lib/types/client/components/QaHeader.d.ts +5 -1
- package/lib/types/client/components/QaMessage.d.ts +14 -1
- package/lib/types/client/create-session.d.ts +2 -0
- package/lib/types/client/project-session-state.d.ts +2 -0
- package/lib/types/client/role/RoleSelector.d.ts +14 -0
- package/lib/types/client/session-sources.d.ts +9 -0
- package/lib/types/client/settings/sections.d.ts +0 -1
- package/lib/types/client/types.d.ts +39 -2
- package/lib/types/enforcement/skill-policy.d.ts +29 -0
- package/lib/types/enforcement/tool-grants.d.ts +84 -0
- package/lib/types/index.d.ts +62 -14
- package/lib/types/qa-tools/index.d.ts +2 -0
- package/lib/types/secure-session.d.ts +19 -1
- package/lib/types/types.d.ts +574 -5
- package/package.json +3 -3
- package/lib/client/settings/sections/documents.js +0 -88
- package/lib/client/settings/sections/documents.js.map +0 -1
- package/lib/documents/artifacts/ids.js +0 -43
- package/lib/documents/artifacts/ids.js.map +0 -1
- package/lib/documents/artifacts/manifest.js +0 -66
- package/lib/documents/artifacts/manifest.js.map +0 -1
- package/lib/documents/artifacts/store.js +0 -169
- package/lib/documents/artifacts/store.js.map +0 -1
- package/lib/documents/capabilities.js +0 -93
- package/lib/documents/capabilities.js.map +0 -1
- package/lib/documents/config.js +0 -302
- package/lib/documents/config.js.map +0 -1
- package/lib/documents/defaults.js +0 -78
- package/lib/documents/defaults.js.map +0 -1
- package/lib/documents/errors.js +0 -101
- package/lib/documents/errors.js.map +0 -1
- package/lib/documents/index.js +0 -80
- package/lib/documents/index.js.map +0 -1
- package/lib/documents/inspect/facts.js +0 -161
- package/lib/documents/inspect/facts.js.map +0 -1
- package/lib/documents/inspect/zip.js +0 -108
- package/lib/documents/inspect/zip.js.map +0 -1
- package/lib/documents/markdown/directives.js +0 -135
- package/lib/documents/markdown/directives.js.map +0 -1
- package/lib/documents/markdown/frontmatter.js +0 -35
- package/lib/documents/markdown/frontmatter.js.map +0 -1
- package/lib/documents/markdown/normalize.js +0 -113
- package/lib/documents/markdown/normalize.js.map +0 -1
- package/lib/documents/orchestrator/assets.js +0 -243
- package/lib/documents/orchestrator/assets.js.map +0 -1
- package/lib/documents/orchestrator/convert-document.js +0 -186
- package/lib/documents/orchestrator/convert-document.js.map +0 -1
- package/lib/documents/orchestrator/create-document.js +0 -292
- package/lib/documents/orchestrator/create-document.js.map +0 -1
- package/lib/documents/orchestrator/extract-document.js +0 -162
- package/lib/documents/orchestrator/extract-document.js.map +0 -1
- package/lib/documents/orchestrator/inspect-document.js +0 -89
- package/lib/documents/orchestrator/inspect-document.js.map +0 -1
- package/lib/documents/orchestrator/runtime-deps.js +0 -59
- package/lib/documents/orchestrator/runtime-deps.js.map +0 -1
- package/lib/documents/orchestrator/scope.js +0 -132
- package/lib/documents/orchestrator/scope.js.map +0 -1
- package/lib/documents/providers/docling.js +0 -247
- package/lib/documents/providers/docling.js.map +0 -1
- package/lib/documents/providers/libreoffice.js +0 -130
- package/lib/documents/providers/libreoffice.js.map +0 -1
- package/lib/documents/providers/markitdown.js +0 -89
- package/lib/documents/providers/markitdown.js.map +0 -1
- package/lib/documents/providers/pandoc.js +0 -161
- package/lib/documents/providers/pandoc.js.map +0 -1
- package/lib/documents/providers/process.js +0 -164
- package/lib/documents/providers/process.js.map +0 -1
- package/lib/documents/providers/registry.js +0 -152
- package/lib/documents/providers/registry.js.map +0 -1
- package/lib/documents/providers/shared.js +0 -75
- package/lib/documents/providers/shared.js.map +0 -1
- package/lib/documents/runtime.js +0 -114
- package/lib/documents/runtime.js.map +0 -1
- package/lib/documents/security/file-types.js +0 -188
- package/lib/documents/security/file-types.js.map +0 -1
- package/lib/documents/security/limits.js +0 -78
- package/lib/documents/security/limits.js.map +0 -1
- package/lib/documents/security/mime.js +0 -43
- package/lib/documents/security/mime.js.map +0 -1
- package/lib/documents/security/paths.js +0 -133
- package/lib/documents/security/paths.js.map +0 -1
- package/lib/documents/templates/registry.js +0 -147
- package/lib/documents/templates/registry.js.map +0 -1
- package/lib/documents/templates/resolver.js +0 -59
- package/lib/documents/templates/resolver.js.map +0 -1
- package/lib/documents/tools/convert.js +0 -125
- package/lib/documents/tools/convert.js.map +0 -1
- package/lib/documents/tools/create.js +0 -187
- package/lib/documents/tools/create.js.map +0 -1
- package/lib/documents/tools/index.js +0 -41
- package/lib/documents/tools/index.js.map +0 -1
- package/lib/documents/tools/inspect.js +0 -135
- package/lib/documents/tools/inspect.js.map +0 -1
- package/lib/documents/tools/shared.js +0 -88
- package/lib/documents/tools/shared.js.map +0 -1
- package/lib/documents/tools/to-markdown.js +0 -125
- package/lib/documents/tools/to-markdown.js.map +0 -1
- package/lib/documents/types.js +0 -12
- package/lib/documents/types.js.map +0 -1
- package/lib/types/client/settings/sections/documents.d.ts +0 -13
- package/lib/types/documents/artifacts/ids.d.ts +0 -14
- package/lib/types/documents/artifacts/manifest.d.ts +0 -32
- package/lib/types/documents/artifacts/store.d.ts +0 -67
- package/lib/types/documents/capabilities.d.ts +0 -32
- package/lib/types/documents/config.d.ts +0 -27
- package/lib/types/documents/defaults.d.ts +0 -161
- package/lib/types/documents/errors.d.ts +0 -42
- package/lib/types/documents/index.d.ts +0 -63
- package/lib/types/documents/inspect/facts.d.ts +0 -43
- package/lib/types/documents/inspect/zip.d.ts +0 -28
- package/lib/types/documents/markdown/directives.d.ts +0 -39
- package/lib/types/documents/markdown/frontmatter.d.ts +0 -15
- package/lib/types/documents/markdown/normalize.d.ts +0 -30
- package/lib/types/documents/orchestrator/assets.d.ts +0 -55
- package/lib/types/documents/orchestrator/convert-document.d.ts +0 -25
- package/lib/types/documents/orchestrator/create-document.d.ts +0 -18
- package/lib/types/documents/orchestrator/extract-document.d.ts +0 -24
- package/lib/types/documents/orchestrator/inspect-document.d.ts +0 -12
- package/lib/types/documents/orchestrator/runtime-deps.d.ts +0 -43
- package/lib/types/documents/orchestrator/scope.d.ts +0 -52
- package/lib/types/documents/providers/docling.d.ts +0 -54
- package/lib/types/documents/providers/libreoffice.d.ts +0 -40
- package/lib/types/documents/providers/markitdown.d.ts +0 -28
- package/lib/types/documents/providers/pandoc.d.ts +0 -42
- package/lib/types/documents/providers/process.d.ts +0 -54
- package/lib/types/documents/providers/registry.d.ts +0 -68
- package/lib/types/documents/providers/shared.d.ts +0 -27
- package/lib/types/documents/runtime.d.ts +0 -59
- package/lib/types/documents/security/file-types.d.ts +0 -39
- package/lib/types/documents/security/limits.d.ts +0 -24
- package/lib/types/documents/security/mime.d.ts +0 -13
- package/lib/types/documents/security/paths.d.ts +0 -38
- package/lib/types/documents/templates/registry.d.ts +0 -50
- package/lib/types/documents/templates/resolver.d.ts +0 -30
- package/lib/types/documents/tools/convert.d.ts +0 -9
- package/lib/types/documents/tools/create.d.ts +0 -14
- package/lib/types/documents/tools/index.d.ts +0 -33
- package/lib/types/documents/tools/inspect.d.ts +0 -9
- package/lib/types/documents/tools/shared.d.ts +0 -77
- package/lib/types/documents/tools/to-markdown.d.ts +0 -12
- package/lib/types/documents/types.d.ts +0 -294
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { QaModal } from "../components/QaModal.js";
|
|
4
|
+
/** Visible only when the account can actually choose between profiles. */
|
|
5
|
+
export function QaRoleSelector(props) {
|
|
6
|
+
const [pending, setPending] = useState();
|
|
7
|
+
if (props.roles.length <= 1)
|
|
8
|
+
return null;
|
|
9
|
+
const select = (id) => {
|
|
10
|
+
if (id === props.selected)
|
|
11
|
+
return;
|
|
12
|
+
const role = props.roles.find((candidate) => candidate.id === id);
|
|
13
|
+
if (role === undefined)
|
|
14
|
+
return;
|
|
15
|
+
if (props.conversationStarted) {
|
|
16
|
+
setPending(role);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
props.onSelect(role.id);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
return (_jsxs(_Fragment, { children: [_jsxs("label", { className: "dsh-qa-role-selector", children: [_jsx("span", { className: "dsh-qa-sr-only", children: "\u0420\u043E\u043B\u044C \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043D\u0442\u0430" }), _jsx("select", { value: props.selected, disabled: props.disabled, "aria-label": "\u0420\u043E\u043B\u044C \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043D\u0442\u0430", onChange: (event) => select(event.currentTarget.value), children: props.roles.map((role) => (_jsx("option", { value: role.id, children: role.name }, role.id))) })] }), _jsx(QaModal, { open: pending !== undefined, title: "\u041D\u0430\u0447\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u0447\u0430\u0442?", closeLabel: "\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u043C\u0435\u043D\u0443 \u0440\u043E\u043B\u0438", onClose: () => setPending(undefined), footer: _jsxs(_Fragment, { children: [_jsx("button", { type: "button", onClick: () => setPending(undefined), children: "\u041E\u0442\u043C\u0435\u043D\u0430" }), _jsxs("button", { type: "button", className: "dsh-qa-modal__primary", onClick: () => {
|
|
23
|
+
if (pending !== undefined)
|
|
24
|
+
props.onSelect(pending.id);
|
|
25
|
+
setPending(undefined);
|
|
26
|
+
}, children: ["\u041D\u0430\u0447\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u0447\u0430\u0442 \u043A\u0430\u043A ", pending?.name ?? ""] })] }), children: _jsx("p", { className: "dsh-qa-role-selector__notice", children: "\u0421\u043C\u0435\u043D\u0430 \u0440\u043E\u043B\u0438 \u043D\u0430\u0447\u0438\u043D\u0430\u0435\u0442 \u043D\u043E\u0432\u044B\u0439 \u0440\u0430\u0437\u0433\u043E\u0432\u043E\u0440: \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043D\u0442\u0443 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B \u0438 \u043D\u0430\u0432\u044B\u043A\u0438 \u0438\u0437\u043C\u0435\u043D\u044F\u0442\u0441\u044F. \u0422\u0435\u043A\u0443\u0449\u0438\u0439 \u0447\u0430\u0442 \u043E\u0441\u0442\u0430\u043D\u0435\u0442\u0441\u044F \u0432 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u0431\u0435\u0437 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439." }) })] }));
|
|
27
|
+
}
|
|
28
|
+
export function QaAdminPreviewBanner({ role }) {
|
|
29
|
+
return (_jsxs("div", { className: "dsh-qa-admin-preview", role: "status", children: ["\u041F\u0420\u041E\u0421\u041C\u041E\u0422\u0420 \u0410\u0414\u041C\u0418\u041D\u0418\u0421\u0422\u0420\u0410\u0422\u041E\u0420\u0410 \u00B7 ", role] }));
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=RoleSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoleSelector.js","sourceRoot":"","sources":["../../../src/client/role/RoleSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAUnD,0EAA0E;AAC1E,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAa,CAAC;IACpD,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,EAAE;QAC5B,IAAI,EAAE,KAAK,KAAK,CAAC,QAAQ;YAAE,OAAO;QAClC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;YAC9B,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;IACF,OAAO,CACL,8BACE,iBAAO,SAAS,EAAC,sBAAsB,aACrC,eAAM,SAAS,EAAC,gBAAgB,sGAAuB,EACvD,iBACE,KAAK,EAAE,KAAK,CAAC,QAAQ,EACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ,gBACb,uFAAiB,EAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,YAErD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACzB,iBAAsB,KAAK,EAAE,IAAI,CAAC,EAAE,YACjC,IAAI,CAAC,IAAI,IADC,IAAI,CAAC,EAAE,CAEX,CACV,CAAC,GACK,IACH,EACR,KAAC,OAAO,IACN,IAAI,EAAE,OAAO,KAAK,SAAS,EAC3B,KAAK,EAAC,yFAAmB,EACzB,UAAU,EAAC,0GAAqB,EAChC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EACpC,MAAM,EACJ,8BACE,iBAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,qDAEjD,EACT,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,uBAAuB,EACjC,OAAO,EAAE,GAAG,EAAE;gCACZ,IAAI,OAAO,KAAK,SAAS;oCAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gCACtD,UAAU,CAAC,SAAS,CAAC,CAAC;4BACxB,CAAC,2HAEqB,OAAO,EAAE,IAAI,IAAI,EAAE,IAClC,IACR,YAGL,YAAG,SAAS,EAAC,8BAA8B,utBAGvC,GACI,IACT,CACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAE,IAAI,EAA6B;IACtE,OAAO,CACL,eAAK,SAAS,EAAC,sBAAsB,EAAC,IAAI,EAAC,QAAQ,8JACtB,IAAI,IAC3B,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -10,6 +10,8 @@ export class QaHostSourceBridge {
|
|
|
10
10
|
bundles = [];
|
|
11
11
|
signature = "";
|
|
12
12
|
refreshing = false;
|
|
13
|
+
/** The refusal already reported, so a repeating failure reaches the console once. */
|
|
14
|
+
refusal = "";
|
|
13
15
|
/** Bumped on reset so a stale in-flight fetch never lands. */
|
|
14
16
|
generation = 0;
|
|
15
17
|
constructor(sourceApi, token) {
|
|
@@ -22,6 +24,7 @@ export class QaHostSourceBridge {
|
|
|
22
24
|
this.bundles = [];
|
|
23
25
|
this.signature = "";
|
|
24
26
|
this.refreshing = false;
|
|
27
|
+
this.refusal = "";
|
|
25
28
|
}
|
|
26
29
|
merge(projected) {
|
|
27
30
|
const merged = new Map();
|
|
@@ -35,6 +38,13 @@ export class QaHostSourceBridge {
|
|
|
35
38
|
* Fetch the Host bundles of one chat; a changed payload republishes through
|
|
36
39
|
* the callback. Repeated calls coalesce while one is in flight, and a
|
|
37
40
|
* response that outlives the chat is dropped.
|
|
41
|
+
*
|
|
42
|
+
* A refused fetch is not the same fact as an empty bundle set: the panel
|
|
43
|
+
* renders both as "this answer carries no sources", so without a word here a
|
|
44
|
+
* rejected RPC — an unattested chat, a token the Host no longer accepts —
|
|
45
|
+
* would be indistinguishable from a chat that genuinely has none. The
|
|
46
|
+
* refusal is reported once per distinct reason, because this runs on every
|
|
47
|
+
* publish.
|
|
38
48
|
*/
|
|
39
49
|
async refresh(sessionId, onChanged) {
|
|
40
50
|
if (this.refreshing)
|
|
@@ -43,8 +53,17 @@ export class QaHostSourceBridge {
|
|
|
43
53
|
this.refreshing = true;
|
|
44
54
|
try {
|
|
45
55
|
const result = await this.sourceApi.sources(this.token(), sessionId);
|
|
46
|
-
if (
|
|
56
|
+
if (generation !== this.generation)
|
|
47
57
|
return;
|
|
58
|
+
if (!result.ok) {
|
|
59
|
+
const refusal = refusalKey(result.error);
|
|
60
|
+
if (refusal !== this.refusal) {
|
|
61
|
+
this.refusal = refusal;
|
|
62
|
+
console.warn("dsh-qa-surface: the Host refused this chat's source bundles; showing only what the transcript itself carries", result.error);
|
|
63
|
+
}
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
this.refusal = "";
|
|
48
67
|
const signature = JSON.stringify(result.value);
|
|
49
68
|
if (signature === this.signature)
|
|
50
69
|
return;
|
|
@@ -58,4 +77,21 @@ export class QaHostSourceBridge {
|
|
|
58
77
|
}
|
|
59
78
|
}
|
|
60
79
|
}
|
|
80
|
+
/** Stable text for one refusal, so the same failure is not reported twice. */
|
|
81
|
+
function refusalKey(error) {
|
|
82
|
+
if (typeof error === "string")
|
|
83
|
+
return error;
|
|
84
|
+
if (error !== null && typeof error === "object") {
|
|
85
|
+
const message = error.message;
|
|
86
|
+
if (typeof message === "string" && message !== "")
|
|
87
|
+
return message;
|
|
88
|
+
try {
|
|
89
|
+
return JSON.stringify(error);
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
return "unserializable refusal";
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return String(error);
|
|
96
|
+
}
|
|
61
97
|
//# sourceMappingURL=session-sources.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-sources.js","sourceRoot":"","sources":["../../src/client/session-sources.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;
|
|
1
|
+
{"version":3,"file":"session-sources.js","sourceRoot":"","sources":["../../src/client/session-sources.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IAUV,SAAS;IACT,KAAK;IAVhB,OAAO,GAA6B,EAAE,CAAC;IACvC,SAAS,GAAG,EAAE,CAAC;IACf,UAAU,GAAG,KAAK,CAAC;IAC3B,qFAAqF;IAC7E,OAAO,GAAG,EAAE,CAAC;IACrB,8DAA8D;IACtD,UAAU,GAAG,CAAC,CAAC;IAEvB,YACmB,SAAsB,EACtB,KAAmB;yBADnB,SAAS;qBACT,KAAK;IACrB,CAAC;IAEJ,4EAA4E;IAC5E,KAAK;QACH,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,SAAmC;QACvC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;QAChD,KAAK,MAAM,MAAM,IAAI,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAChE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,SAAqB;QACpD,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;YACrE,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU;gBAAE,OAAO;YAC3C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;oBACvB,OAAO,CAAC,IAAI,CACV,8GAA8G,EAC9G,MAAM,CAAC,KAAK,CACb,CAAC;gBACJ,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,SAAS,KAAK,IAAI,CAAC,SAAS;gBAAE,OAAO;YACzC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;YAC5B,SAAS,EAAE,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC9D,CAAC;IACH,CAAC;CACF;AAED,8EAA8E;AAC9E,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,OAAO,GAAI,KAAwC,CAAC,OAAO,CAAC;QAClE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,EAAE;YAAE,OAAO,OAAO,CAAC;QAClE,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,wBAAwB,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
|
|
|
2
2
|
import { CardShell, bindSettingsExternalStore, startVisibilityAwarePolling, } from "@yadsh/dsh-plugin-kit/client";
|
|
3
3
|
import { useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore, } from "react";
|
|
4
4
|
import { badgeText, isOverridden, mutationLanded, overriddenKeys, pluralRu, } from "./format.js";
|
|
5
|
-
import { AccessSection, AttachmentsSection, AccountsSection, BrandingSection,
|
|
5
|
+
import { AccessSection, AttachmentsSection, AccountsSection, BrandingSection, EmbeddingSection, InterfaceSection, LockdownSection, SessionSection, SourcesSection, StatusSection, } from "./sections.js";
|
|
6
6
|
const REFRESH_INTERVAL_MS = 5_000;
|
|
7
7
|
/** Shown when a settled mutation left the configuration unchanged. */
|
|
8
8
|
const REFUSED_MESSAGE = "Хост отклонил изменение: значение не сохранилось. Обычно так отвечает несовместимая комбинация полей — проверьте связанные значения этого раздела. Точную причину хост пишет в свой журнал.";
|
|
@@ -134,7 +134,7 @@ export function QaSettingsCard({ scope, describe }) {
|
|
|
134
134
|
};
|
|
135
135
|
return (_jsx(CardShell, { title: "\u041F\u043E\u043C\u043E\u0449\u043D\u0438\u043A QA", description: "\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 \u0438 \u043E\u0442\u0432\u0435\u0442\u043E\u0432 \u043D\u0430 \u0441\u0435\u0441\u0441\u0438\u044F\u0445 DeepSeek Harness: \u043C\u0430\u0440\u0448\u0440\u0443\u0442, \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u0435, \u0441\u0435\u0441\u0441\u0438\u044F, \u043F\u043E\u043B\u0438\u0442\u0438\u043A\u0430 \u0437\u0430\u043F\u0443\u0441\u043A\u0430, \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u044B \u0438 \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0438.", badge: _jsx("span", { className: "dsh-plugin-card__badge", children: badgeText(enabled, routePath) }), label: (open) => `${open ? "Скрыть" : "Показать"} настройки: Помощник QA`, bodyClassName: "qa-card-body", children: settings.status === "loading" ? (_jsx("p", { className: "qa-card-muted", children: "\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u044E \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043F\u043E\u043C\u043E\u0449\u043D\u0438\u043A\u0430\u2026" })) : (_jsxs(_Fragment, { children: [writeError !== null ? (_jsx("div", { className: "qa-card-error", children: writeError })) : null, hostError !== null ? (_jsx("div", { className: "qa-card-error", children: hostError })) : null, _jsx(StatusSection, { effective: effective, config: config, refreshing: refreshing, refreshedAt: refreshedAt, overrides: overrides.length, onRefresh: () => {
|
|
136
136
|
void refresh();
|
|
137
|
-
} }), _jsx(AccessSection, { ...sectionProps }), _jsx(BrandingSection, { ...sectionProps }), _jsx(SessionSection, { ...sectionProps }), _jsx(InterfaceSection, { ...sectionProps }), _jsx(LockdownSection, { ...sectionProps }), _jsx(AccountsSection, { ...sectionProps }), _jsx(SourcesSection, { ...sectionProps }), _jsx(AttachmentsSection, { ...sectionProps }), _jsx(
|
|
137
|
+
} }), _jsx(AccessSection, { ...sectionProps }), _jsx(BrandingSection, { ...sectionProps }), _jsx(SessionSection, { ...sectionProps }), _jsx(InterfaceSection, { ...sectionProps }), _jsx(LockdownSection, { ...sectionProps }), _jsx(AccountsSection, { ...sectionProps }), _jsx(SourcesSection, { ...sectionProps }), _jsx(AttachmentsSection, { ...sectionProps }), _jsx(EmbeddingSection, { ...sectionProps }), _jsxs("div", { className: "qa-card-footer", children: [_jsx("p", { className: "qa-card-footer-note", children: "\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0443\u0445\u043E\u0434\u044F\u0442 \u043D\u0430 \u0440\u0430\u0431\u043E\u0442\u0430\u044E\u0449\u0438\u0439 Host \u0441\u0440\u0430\u0437\u0443: \u043C\u0430\u0440\u0448\u0440\u0443\u0442 \u043F\u0435\u0440\u0435\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044F, \u043F\u043E\u043B\u0438\u0442\u0438\u043A\u0430 \u043F\u0440\u0438\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u043F\u0440\u0438 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0438 \u0441\u0435\u0441\u0441\u0438\u0438. \u041F\u0440\u0430\u0432\u043A\u0438 \u043B\u043E\u0436\u0430\u0442\u0441\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u043C \u0441\u043B\u043E\u0435\u043C \u043F\u043E\u0432\u0435\u0440\u0445 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0438\u0445 \u043C\u043E\u0436\u043D\u043E \u0441\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u2014 \u043D\u043E \u043D\u0435 \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435, \u0437\u0430\u0448\u0438\u0442\u043E\u0435 \u0432 \u0441\u0430\u043C\u043E\u043C \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u0438." }), overrides.length > 0 ? (_jsxs("button", { type: "button", className: "qa-card-btn", disabled: !writable, onClick: resetAll, children: ["\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C", " ", pluralRu(overrides.length, [
|
|
138
138
|
"переопределение",
|
|
139
139
|
"переопределения",
|
|
140
140
|
"переопределений",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../../src/client/settings/card.tsx"],"names":[],"mappings":";AAoBA,OAAO,EACL,SAAS,EACT,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,EACR,oBAAoB,GACrB,MAAM,OAAO,CAAC;AAIf,OAAO,EACL,SAAS,EACT,YAAY,EACZ,cAAc,EACd,cAAc,EACd,QAAQ,GACT,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../../src/client/settings/card.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,6 @@ export { AccessSection } from "./sections/access.js";
|
|
|
14
14
|
export { AccountsSection } from "./sections/accounts.js";
|
|
15
15
|
export { AttachmentsSection } from "./sections/attachments.js";
|
|
16
16
|
export { BrandingSection } from "./sections/branding.js";
|
|
17
|
-
export { DocumentsSection } from "./sections/documents.js";
|
|
18
17
|
export { EmbeddingSection } from "./sections/embedding.js";
|
|
19
18
|
export { InterfaceSection } from "./sections/interface.js";
|
|
20
19
|
export { LockdownSection } from "./sections/lockdown.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sections.js","sourceRoot":"","sources":["../../../src/client/settings/sections.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sections.js","sourceRoot":"","sources":["../../../src/client/settings/sections.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
|
package/lib/client/styles.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { QA_BLEED_MAX_WIDTH } from "./components/QaWidthHandle.js";
|
|
2
|
+
import { QA_ADMIN_CONSOLE_STYLES } from "./admin/styles.js";
|
|
2
3
|
/**
|
|
3
4
|
* Company interaction palette ("Цвета взаимодействия" guideline) — the single
|
|
4
5
|
* source of every hard-coded color in this file. The object is emitted once as
|
|
@@ -337,6 +338,34 @@ body[data-dsh-qa-surface="active"] div:has(>[data-shell-overlay])>:not([data-she
|
|
|
337
338
|
.dsh-qa-header__files[aria-expanded="true"]{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}
|
|
338
339
|
.dsh-qa-header__files svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
|
|
339
340
|
.dsh-qa-header__files:focus-visible{outline:2px solid var(--dsh-qa-accent);outline-offset:2px}
|
|
341
|
+
.dsh-qa-role-selector select,.dsh-qa-header__admin{height:30px;padding:4px 10px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);font:inherit;font-size:12px;line-height:20px;cursor:pointer}
|
|
342
|
+
.dsh-qa-role-selector select:hover,.dsh-qa-header__admin:hover{border-color:var(--dsw-alias-label-dimmed);color:var(--dsw-alias-label-primary)}
|
|
343
|
+
.dsh-qa-role-selector select:focus-visible,.dsh-qa-header__admin:focus-visible{outline:2px solid var(--dsh-qa-accent);outline-offset:1px}
|
|
344
|
+
.dsh-qa-header__admin{margin-left:auto;white-space:nowrap}
|
|
345
|
+
.dsh-qa-admin-preview{position:absolute;z-index:8;right:20px;bottom:14px;padding:5px 10px;border:1px solid var(--dsh-qa-warning);border-radius:999px;background:var(--dsh-qa-warning10);color:var(--dsw-alias-label-primary);font-size:11px;font-weight:700;letter-spacing:.04em;pointer-events:none}
|
|
346
|
+
.dsh-qa-role-selector__notice{margin:0;color:var(--dsw-alias-label-secondary);font-size:14px;line-height:1.6}
|
|
347
|
+
.dsh-qa-admin{${QA_BRAND_TOKENS};position:fixed;inset:0;z-index:2147483000;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-primary);font-family:inherit}
|
|
348
|
+
.dsh-qa-admin *{box-sizing:border-box}
|
|
349
|
+
.dsh-qa-admin button,.dsh-qa-admin input,.dsh-qa-admin textarea,.dsh-qa-admin select{font:inherit}
|
|
350
|
+
.dsh-qa-admin__header{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:10px 24px;border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2)}
|
|
351
|
+
.dsh-qa-admin__header>div{display:flex;flex-direction:column;gap:2px}.dsh-qa-admin__header strong{font-size:16px}.dsh-qa-admin__header span{color:var(--dsw-alias-label-tertiary);font-size:12px}
|
|
352
|
+
.dsh-qa-admin button{padding:7px 11px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);cursor:pointer}.dsh-qa-admin button:hover:not(:disabled){border-color:var(--dsw-alias-label-dimmed);color:var(--dsw-alias-label-primary)}.dsh-qa-admin button:focus-visible{outline:2px solid var(--dsh-qa-accent);outline-offset:1px}.dsh-qa-admin button:disabled{opacity:.45;cursor:default}
|
|
353
|
+
.dsh-qa-admin__layout{display:grid;grid-template-columns:220px minmax(0,1fr);flex:1;min-height:0}.dsh-qa-admin__layout>nav{display:flex;flex-direction:column;gap:4px;padding:24px 14px;border-right:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2)}.dsh-qa-admin__layout>nav strong{padding:0 10px 10px;color:var(--dsw-alias-label-tertiary);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.dsh-qa-admin__layout>nav button{text-align:left;border-color:transparent;background:transparent}.dsh-qa-admin__layout>nav button[aria-current="page"]{background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-primary);font-weight:600}
|
|
354
|
+
.dsh-qa-admin__content,.dsh-qa-role-editor{min-width:0;overflow-y:auto;padding:30px clamp(20px,4vw,56px) 90px}.dsh-qa-admin__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 24px}.dsh-qa-admin__title-row h1,.dsh-qa-admin__title-row h2{margin:0 0 6px;font-size:24px}.dsh-qa-admin__title-row p{margin:0;color:var(--dsw-alias-label-tertiary);font-size:13px;line-height:1.5}.dsh-qa-admin__primary{border-color:transparent!important;background:var(--dsh-qa-accent)!important;color:var(--dsh-qa-accent-contrast)!important;font-weight:600}.dsh-qa-admin__danger{color:var(--dsh-qa-error)!important}.dsh-qa-admin__back{margin:0 0 12px;padding-left:0!important;border:0!important;background:transparent!important;color:var(--dsh-qa-accent)!important}
|
|
355
|
+
.dsh-qa-role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.dsh-qa-role-card{display:flex;flex-direction:column;gap:16px;min-width:0;padding:18px;border:1px solid var(--dsw-alias-border-l2);border-radius:14px;background:var(--dsw-alias-bg-layer-2)}.dsh-qa-role-card__head{display:flex;align-items:flex-start;gap:10px}.dsh-qa-role-card__head>span{font-size:22px}.dsh-qa-role-card__head>div{flex:1;min-width:0}.dsh-qa-role-card h2{margin:0;font-size:17px}.dsh-qa-role-card code{color:var(--dsw-alias-label-tertiary);font-size:11px}.dsh-qa-role-card em{padding:2px 7px;border-radius:999px;background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary);font-size:10px;font-style:normal}.dsh-qa-role-card>p{min-height:38px;margin:0;color:var(--dsw-alias-label-secondary);font-size:13px;line-height:19px}.dsh-qa-role-card__counts{display:flex;flex-wrap:wrap;gap:8px;color:var(--dsw-alias-label-tertiary);font-size:11px}.dsh-qa-role-card__actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.dsh-qa-role-card__actions button{padding:5px 8px;font-size:11px}
|
|
356
|
+
.dsh-qa-admin__tabs{display:flex;gap:4px;margin:0 0 18px;border-bottom:1px solid var(--dsw-alias-border-l2)}.dsh-qa-admin__tabs button{margin-bottom:-1px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent}.dsh-qa-admin__tabs button[aria-current="page"]{border-bottom-color:var(--dsh-qa-accent);color:var(--dsw-alias-label-primary);font-weight:600}
|
|
357
|
+
.dsh-qa-capabilities__toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.dsh-qa-capabilities__toolbar>input{width:min(420px,65%)}.dsh-qa-capabilities__toolbar label{display:flex;align-items:center;gap:6px;color:var(--dsw-alias-label-secondary);font-size:12px}.dsh-qa-admin input[type="search"],.dsh-qa-admin input:not([type]),.dsh-qa-admin input[type="text"],.dsh-qa-admin textarea,.dsh-qa-admin select{padding:8px 10px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:var(--dsw-specific-input-major);color:var(--dsw-alias-label-primary)}.dsh-qa-capabilities__group{margin:0 0 20px}.dsh-qa-capabilities__group h4{margin:0 0 6px;color:var(--dsw-alias-label-tertiary);font-size:10px;letter-spacing:.06em}.dsh-qa-capability{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border-radius:9px}.dsh-qa-capability:hover{background:var(--dsw-alias-interactive-bg-hover)}.dsh-qa-capability>input{margin-top:3px;accent-color:var(--dsh-qa-accent)}.dsh-qa-capability__copy{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.dsh-qa-capability__copy strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.dsh-qa-capability__copy small{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.dsh-qa-capability>em{color:var(--dsw-alias-label-tertiary);font-size:10px;font-style:normal}.dsh-qa-capability__missing{color:var(--dsh-qa-warning-hover)!important}
|
|
358
|
+
.dsh-qa-role-editor__general{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dsh-qa-role-editor__general label{display:flex;flex-direction:column;gap:6px;color:var(--dsw-alias-label-secondary);font-size:12px}.dsh-qa-role-editor__general input,.dsh-qa-role-editor__general textarea{width:100%}.dsh-qa-role-editor__general textarea{min-height:100px;resize:vertical}.dsh-qa-role-editor__wide{grid-column:1/-1}.dsh-qa-role-editor__check{flex-direction:row!important;align-items:center}.dsh-qa-effective>p{padding:10px;border-radius:9px;background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary);font-size:12px}.dsh-qa-effective h3{font-size:16px}
|
|
359
|
+
.dsh-qa-admin__savebar{position:sticky;bottom:-90px;display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:28px clamp(-56px,-4vw,-20px) -90px;padding:14px clamp(20px,4vw,56px);border-top:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2)}.dsh-qa-admin__savebar>span{margin-right:auto;color:var(--dsw-alias-label-tertiary);font-size:11px}.dsh-qa-admin__impact{margin:20px 0 0;padding:12px;border:1px solid var(--dsh-qa-warning30);border-radius:10px;background:var(--dsh-qa-warning10);font-size:12px;line-height:18px}.dsh-qa-admin__error{margin:0 0 16px;padding:10px;border:1px solid var(--dsh-qa-error30);border-radius:9px;background:var(--dsh-qa-error10);color:var(--dsh-qa-error);font-size:12px}.dsh-qa-admin__loading{margin:auto;color:var(--dsw-alias-label-secondary)}.dsh-qa-admin__empty{color:var(--dsw-alias-label-tertiary);font-size:13px}
|
|
360
|
+
.dsh-qa-users{overflow:auto}.dsh-qa-users table{width:100%;border-collapse:collapse;font-size:12px}.dsh-qa-users th,.dsh-qa-users td{padding:10px;border-bottom:1px solid var(--dsw-alias-border-l2);text-align:left;vertical-align:top}.dsh-qa-users td>small{display:block;color:var(--dsw-alias-label-tertiary)}.dsh-qa-users__roles{display:flex;flex-wrap:wrap;gap:8px}.dsh-qa-users__roles label{white-space:nowrap}.dsh-qa-audit{display:flex;flex-direction:column;gap:8px;padding:0;list-style:none}.dsh-qa-audit li{display:grid;grid-template-columns:160px 150px minmax(120px,1fr) minmax(160px,1fr);gap:10px;padding:10px;border:1px solid var(--dsw-alias-border-l2);border-radius:9px;background:var(--dsw-alias-bg-layer-2);font-size:11px}.dsh-qa-audit time,.dsh-qa-audit code{color:var(--dsw-alias-label-tertiary)}
|
|
361
|
+
.dsh-qa-audit details{grid-column:1/-1}.dsh-qa-audit summary{color:var(--dsh-qa-accent);cursor:pointer}.dsh-qa-audit pre{max-height:240px;overflow:auto;padding:10px;border-radius:8px;background:var(--dsw-alias-bg-layer-3);color:var(--dsw-alias-label-secondary);font:11px/17px ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
|
|
362
|
+
.dsh-qa-tool-buckets{display:flex;flex-direction:column;gap:26px}.dsh-qa-tool-buckets>section>h3{margin:0 0 4px;font-size:15px}.dsh-qa-tool-buckets>section>p{margin:0 0 12px;color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:17px}
|
|
363
|
+
.dsh-qa-skill-grants{margin:18px 0 0;padding:12px;border:1px solid var(--dsw-alias-border-l2);border-radius:10px;background:var(--dsw-alias-bg-layer-2)}.dsh-qa-skill-grants h4{margin:0 0 8px;color:var(--dsw-alias-label-tertiary);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.dsh-qa-skill-grants ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.dsh-qa-skill-grants li{display:flex;align-items:baseline;gap:8px;font-size:12px}.dsh-qa-skill-grants span{color:var(--dsw-alias-label-tertiary);font-size:11px}
|
|
364
|
+
.dsh-qa-role-skills>p{margin:0 0 18px;color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:17px}.dsh-qa-role-skills>section{margin:0 0 26px}.dsh-qa-role-skills h4{margin:0 0 8px;font-size:13px}.dsh-qa-role-skills__hint{margin:8px 0 0;color:var(--dsw-alias-label-tertiary);font-size:11px}
|
|
365
|
+
.dsh-qa-skill-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.dsh-qa-skill-list li{display:flex;align-items:baseline;gap:10px;padding:9px 10px;border:1px solid var(--dsw-alias-border-l2);border-radius:9px;background:var(--dsw-alias-bg-layer-2);font-size:12px}.dsh-qa-skill-list li strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.dsh-qa-skill-list li span{color:var(--dsw-alias-label-tertiary);font-size:11px}.dsh-qa-skill-list li em{margin-left:auto;padding:2px 7px;border-radius:999px;background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary);font-size:10px;font-style:normal}
|
|
366
|
+
.dsh-qa-effective section{margin:0 0 20px}.dsh-qa-effective h4{margin:0 0 8px;color:var(--dsw-alias-label-tertiary);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.dsh-qa-effective__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.dsh-qa-effective__list li{display:flex;align-items:baseline;gap:10px;padding:8px 10px;border:1px solid var(--dsw-alias-border-l2);border-radius:9px;background:var(--dsw-alias-bg-layer-2);font-size:12px}.dsh-qa-effective__list span{color:var(--dsw-alias-label-tertiary);font-size:11px}
|
|
367
|
+
.dsh-qa-skills{overflow:auto}.dsh-qa-skills table{width:100%;border-collapse:collapse;font-size:12px}.dsh-qa-skills th,.dsh-qa-skills td{padding:10px;border-bottom:1px solid var(--dsw-alias-border-l2);text-align:left;vertical-align:top}.dsh-qa-skills td>strong{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.dsh-qa-skills td>em{margin-right:6px;padding:1px 6px;border-radius:999px;background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary);font-size:10px;font-style:normal}
|
|
368
|
+
.dsh-qa-skill-detail__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}.dsh-qa-skill-detail__grid h4{margin:0 0 10px;color:var(--dsw-alias-label-tertiary);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.dsh-qa-skill-roles{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.dsh-qa-skill-roles li{display:flex;align-items:center;gap:10px;font-size:12px}.dsh-qa-skill-roles em{padding:1px 7px;border-radius:999px;background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary);font-size:10px;font-style:normal}.dsh-qa-skill-tools{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.dsh-qa-skill-tools li{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:9px 10px;border:1px solid var(--dsw-alias-border-l2);border-radius:9px;background:var(--dsw-alias-bg-layer-2);font-size:12px}.dsh-qa-skill-tools em{color:var(--dsw-alias-label-tertiary);font-size:11px;font-style:normal}.dsh-qa-skill-warnings{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;color:var(--dsh-qa-warning-hover);font-size:11px;line-height:16px}
|
|
340
369
|
.dsh-qa-panel-launcher{display:flex;align-items:center;gap:2px;flex:none}
|
|
341
370
|
.dsh-qa-panel-launcher__button{appearance:none;display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--dsw-alias-label-secondary);cursor:pointer}
|
|
342
371
|
.dsh-qa-panel-launcher__button:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}
|
|
@@ -598,6 +627,7 @@ a.dsh-qa-srcref:hover,button.dsh-qa-srcref:hover{border-color:var(--dsw-alias-la
|
|
|
598
627
|
.dsh-qa-work-tool__body section>span{display:block;padding:7px 10px 0;color:var(--dsw-alias-label-tertiary);font-size:11px;font-weight:600;line-height:18px;text-transform:uppercase;letter-spacing:.04em}
|
|
599
628
|
.dsh-qa-work-tool__body pre{max-height:260px;overflow:auto;margin:0;padding:7px 10px 10px;color:var(--dsw-alias-label-secondary);background:transparent;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:19px;white-space:pre-wrap;overflow-wrap:anywhere}
|
|
600
629
|
.dsh-qa-error{display:flex;align-items:center;justify-content:center;gap:10px;margin:16px auto;padding:10px 12px;border:1px solid var(--dsh-qa-error);border-radius:10px;color:var(--dsw-alias-label-primary);font-size:13px}
|
|
630
|
+
.dsh-qa-compatibility{margin:16px auto;padding:10px 12px;border:1px solid var(--dsw-alias-border-l2);border-radius:10px;background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);font-size:13px;line-height:19px}
|
|
601
631
|
.dsh-qa-error button{border:0;background:transparent;color:var(--dsh-qa-accent);font:inherit;font-weight:600;cursor:pointer}
|
|
602
632
|
.dsh-qa-approvals{display:flex;flex-direction:column;gap:8px;width:100%;margin-bottom:10px}
|
|
603
633
|
.dsh-qa-approval{padding:12px 14px;border:1px solid var(--dsh-qa-warning30);border-radius:12px;background:var(--dsh-qa-warning10)}
|
|
@@ -691,8 +721,10 @@ a.dsh-qa-srcref:hover,button.dsh-qa-srcref:hover{border-color:var(--dsw-alias-la
|
|
|
691
721
|
.dsh-qa-composer__action:disabled{opacity:.4;cursor:default}
|
|
692
722
|
.dsh-qa-composer__action:focus-visible,.dsh-qa-error button:focus-visible,.dsh-qa-header__reset:focus-visible{outline:2px solid var(--dsh-qa-accent);outline-offset:2px}
|
|
693
723
|
@media (hover:hover){.dsh-qa-message__actions .dsh-qa-message__meta{opacity:0;transition:opacity 80ms ease}.dsh-qa-message:hover .dsh-qa-message__actions .dsh-qa-message__meta,.dsh-qa-message:focus-within .dsh-qa-message__actions .dsh-qa-message__meta,.dsh-qa-message__actions[data-persistent] .dsh-qa-message__meta{opacity:1}}.dsh-qa-message__actions[data-persistent] .dsh-qa-message__meta{opacity:1}
|
|
724
|
+
@media (max-width:760px){.dsh-qa-admin__header{min-height:56px;padding:8px 14px}.dsh-qa-admin__layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.dsh-qa-admin__layout>nav{flex-direction:row;overflow-x:auto;padding:8px;border-right:0;border-bottom:1px solid var(--dsw-alias-border-l2)}.dsh-qa-admin__layout>nav strong{display:none}.dsh-qa-admin__layout>nav button{white-space:nowrap}.dsh-qa-admin__content,.dsh-qa-role-editor{padding:20px 14px 76px}.dsh-qa-admin__title-row{flex-direction:column}.dsh-qa-role-grid{grid-template-columns:1fr}.dsh-qa-role-editor__general{grid-template-columns:1fr}.dsh-qa-role-editor__wide{grid-column:auto}.dsh-qa-admin__savebar{bottom:-76px;margin:24px -14px -76px;padding:10px 14px}.dsh-qa-admin__savebar>span{display:none}.dsh-qa-audit li{grid-template-columns:1fr 1fr}.dsh-qa-capabilities__toolbar{align-items:stretch;flex-direction:column}.dsh-qa-capabilities__toolbar>input{width:100%}}
|
|
694
725
|
@media (max-width:600px){.dsh-qa-sidebar{display:none}.dsh-qa-panel,.dsh-qa-agents{position:absolute;inset:0;z-index:6;width:100%;border-left:0}.dsh-qa-header__inner{padding-left:16px;padding-right:16px}.dsh-qa-header h1{max-width:48vw}.dsh-qa-header__mode{font-size:12px}.dsh-qa-width-handle{display:none}.dsh-qa-transcript__inner{--dsh-qa-bleed:0px;max-width:100%;padding:16px 16px 28px}.dsh-qa-footer__inner{max-width:100%}.dsh-qa-message{margin-bottom:16px}.dsh-qa-message--user .dsh-qa-message__content{max-width:88%;font-size:15px}.dsh-qa-message__content{font-size:14px}.dsh-qa-footer{padding-left:10px;padding-right:10px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.dsh-qa-composer{min-height:84px;padding-top:12px}.dsh-qa-composer__hint{font-size:0}.dsh-qa-composer__hint::after{content:"Enter: отправить";font-size:11px}}
|
|
695
726
|
@media (max-height:480px) and (orientation:landscape){.dsh-qa-header__inner{padding-top:6px}.dsh-qa-header__tabs{display:none}.dsh-qa-transcript__inner{padding-top:12px}.dsh-qa-footer{padding-top:12px}.dsh-qa-composer{min-height:72px;gap:4px;padding-top:8px}}
|
|
696
727
|
@media (prefers-reduced-motion:reduce){.dsh-qa-message__cursor,.dsh-qa-message__pending-spinner,.dsh-qa-work__spinner,.dsh-qa-work-item__spinner{animation:none}.dsh-qa-work__chevron{transition:none}.dsh-qa-rail__frame,.dsh-qa-rail__pos,.dsh-qa-rail__mark::before,.dsh-qa-rail__mark--busy::before,.dsh-qa-rail__preview{transition:none;animation:none}}
|
|
728
|
+
${QA_ADMIN_CONSOLE_STYLES}
|
|
697
729
|
`;
|
|
698
730
|
//# sourceMappingURL=styles.js.map
|
package/lib/client/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/client/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/client/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,gBAAgB,GAAG;IACvB,KAAK,EAAE,SAAS;IAChB,yDAAyD;IACzD,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,SAAS;IACtB,uBAAuB;IACvB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,kBAAkB;IAClB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,gBAAgB;IAChB,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,SAAS;IACrB,yBAAyB;IACzB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,YAAY,EAAE,SAAS;IACvB,mDAAmD;IACnD,cAAc,EAAE,SAAS;IACzB,qDAAqD;IACrD,OAAO,EAAE,wBAAwB;CACzB,CAAC;AAEX,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,iEAAiE;AACjE,MAAM,CAAC,MAAM,oBAAoB,GAC/B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAE/C,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;KACrD,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,YAAY,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;KAChE,IAAI,CAAC,GAAG,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;kBAQzB,eAAe;qBACZ,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAyGpB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAwLf,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mJAgDoH,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6UnK,uBAAuB;CACxB,CAAC"}
|
package/lib/client/types.js
CHANGED
package/lib/client/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAgbA,iFAAiF;AACjF,MAAM,CAAC,MAAM,qBAAqB,GAAmB,MAAM,CAAC,MAAM,CAAC;IACjE,KAAK,EAAE,MAAM;IACb,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IAC3B,cAAc,EAAE,IAAI;IACpB,KAAK,EAAE,IAAI;IACX,qBAAqB,EAAE,KAAK;IAC5B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;IACd,aAAa,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IAC1B,eAAe,EAAE,IAAI;IACrB,uBAAuB,EAAE,SAAS;IAClC,eAAe,EAAE,IAAI;IACrB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;CAC7B,CAAC,CAAC"}
|