@yadsh/dsh-qa-surface 0.1.0 → 0.2.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/CHANGELOG.md +83 -0
- package/README.md +162 -14
- package/SPEC-dsh-qa-surface.md +600 -96
- package/capability-policy.json +5 -0
- package/compatibility.json +7 -1
- package/cordis.patch.yml +11 -0
- package/docs/ARCHITECTURE.md +49 -7
- package/docs/COMPATIBILITY.md +5 -4
- package/docs/CONFIGURATION.md +96 -2
- package/lib/attestation.js +10 -0
- package/lib/attestation.js.map +1 -0
- package/lib/client/QaConfigController.js +111 -4
- package/lib/client/QaConfigController.js.map +1 -1
- package/lib/client/QaSessionController.js +501 -119
- package/lib/client/QaSessionController.js.map +1 -1
- package/lib/client/QaSurface.js +137 -20
- package/lib/client/QaSurface.js.map +1 -1
- package/lib/client/QaTranscriptAdapter.js +534 -45
- package/lib/client/QaTranscriptAdapter.js.map +1 -1
- package/lib/client/attestation.js +60 -0
- package/lib/client/attestation.js.map +1 -0
- package/lib/client/chat-index.js +86 -0
- package/lib/client/chat-index.js.map +1 -0
- package/lib/client/components/Markdown.js +75 -5
- package/lib/client/components/Markdown.js.map +1 -1
- package/lib/client/components/QaAgentsDrawer.js +40 -0
- package/lib/client/components/QaAgentsDrawer.js.map +1 -0
- package/lib/client/components/QaComposer.js +132 -15
- package/lib/client/components/QaComposer.js.map +1 -1
- package/lib/client/components/QaMessage.js +184 -10
- package/lib/client/components/QaMessage.js.map +1 -1
- package/lib/client/components/QaSidebar.js +124 -0
- package/lib/client/components/QaSidebar.js.map +1 -0
- package/lib/client/components/QaSourcesDrawer.js +46 -0
- package/lib/client/components/QaSourcesDrawer.js.map +1 -0
- package/lib/client/components/QaWorkGroup.js +135 -0
- package/lib/client/components/QaWorkGroup.js.map +1 -0
- package/lib/client/components/VariantSwitcher.js +29 -0
- package/lib/client/components/VariantSwitcher.js.map +1 -0
- package/lib/client/components/format.js +48 -0
- package/lib/client/components/format.js.map +1 -0
- package/lib/client/index.js +77 -34
- package/lib/client/index.js.map +1 -1
- package/lib/client/styles.js +308 -43
- package/lib/client/styles.js.map +1 -1
- package/lib/client/types.js +13 -0
- package/lib/client/types.js.map +1 -0
- package/lib/client/wait-for.js +49 -0
- package/lib/client/wait-for.js.map +1 -0
- package/lib/client.js +8228 -383
- package/lib/client.js.map +1 -1
- package/lib/config.js +61 -9
- package/lib/config.js.map +1 -1
- package/lib/index.js +166 -70
- package/lib/index.js.map +1 -1
- package/lib/lockdown-policy.js +20 -0
- package/lib/lockdown-policy.js.map +1 -0
- package/lib/resolve-config.js +122 -10
- package/lib/resolve-config.js.map +1 -1
- package/lib/secure-session.js +170 -0
- package/lib/secure-session.js.map +1 -0
- package/lib/typert.host.d.ts +3 -0
- package/lib/typert.host.js +191 -0
- package/lib/typert.remote-client.d.ts +24 -0
- package/lib/typert.remote-client.js +129 -0
- package/lib/types/attestation.d.ts +17 -0
- package/lib/types/client/QaConfigController.d.ts +34 -2
- package/lib/types/client/QaSessionController.d.ts +106 -19
- package/lib/types/client/QaSurface.d.ts +5 -4
- package/lib/types/client/QaTranscriptAdapter.d.ts +17 -2
- package/lib/types/client/attestation.d.ts +25 -0
- package/lib/types/client/chat-index.d.ts +28 -0
- package/lib/types/client/components/Markdown.d.ts +7 -3
- package/lib/types/client/components/QaAgentsDrawer.d.ts +25 -0
- package/lib/types/client/components/QaComposer.d.ts +12 -2
- package/lib/types/client/components/QaMessage.d.ts +14 -1
- package/lib/types/client/components/QaSidebar.d.ts +41 -0
- package/lib/types/client/components/QaSourcesDrawer.d.ts +8 -0
- package/lib/types/client/components/QaWorkGroup.d.ts +19 -0
- package/lib/types/client/components/VariantSwitcher.d.ts +19 -0
- package/lib/types/client/components/format.d.ts +9 -0
- package/lib/types/client/index.d.ts +1 -5
- package/lib/types/client/types.d.ts +29 -0
- package/lib/types/client/wait-for.d.ts +11 -0
- package/lib/types/index.d.ts +22 -6
- package/lib/types/lockdown-policy.d.ts +18 -0
- package/lib/types/secure-session.d.ts +22 -0
- package/lib/types/types.d.ts +148 -1
- package/package.json +76 -52
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Group answer turns under the user message that triggered them. The session
|
|
4
|
+
* has no truncation seam, so a regenerated answer is a real follow-up turn;
|
|
5
|
+
* consecutive turns after one user message read as its variants.
|
|
6
|
+
*/
|
|
7
|
+
export function collectVariantGroups(messages) {
|
|
8
|
+
const groups = [];
|
|
9
|
+
let current;
|
|
10
|
+
for (const message of messages) {
|
|
11
|
+
if (message.role === "user") {
|
|
12
|
+
current = { groupId: message.id, turns: [] };
|
|
13
|
+
groups.push(current);
|
|
14
|
+
continue;
|
|
15
|
+
}
|
|
16
|
+
if (current === undefined ||
|
|
17
|
+
(message.role !== "assistant" && message.role !== "work")) {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
if (message.turn !== undefined && !current.turns.includes(message.turn)) {
|
|
21
|
+
current.turns.push(message.turn);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return groups;
|
|
25
|
+
}
|
|
26
|
+
export function VariantSwitcher({ count, offset, onStep, }) {
|
|
27
|
+
return (_jsxs("div", { className: "dsh-qa-variants", "aria-label": "\u0412\u0430\u0440\u0438\u0430\u043D\u0442\u044B \u043E\u0442\u0432\u0435\u0442\u0430", children: [_jsx("button", { type: "button", "aria-label": "\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442", disabled: offset >= count - 1, onClick: () => onStep(offset + 1), children: _jsx("svg", { viewBox: "0 0 14 14", "aria-hidden": "true", children: _jsx("path", { d: "m8.75 3.5-3.5 3.5 3.5 3.5" }) }) }), _jsxs("span", { children: [count - offset, "/", count] }), _jsx("button", { type: "button", "aria-label": "\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442", disabled: offset <= 0, onClick: () => onStep(offset - 1), children: _jsx("svg", { viewBox: "0 0 14 14", "aria-hidden": "true", children: _jsx("path", { d: "m5.25 3.5 3.5 3.5-3.5 3.5" }) }) })] }));
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=VariantSwitcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VariantSwitcher.js","sourceRoot":"","sources":["../../../src/client/components/VariantSwitcher.tsx"],"names":[],"mappings":";AASA;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAA8B;IAE9B,MAAM,MAAM,GAA2C,EAAE,CAAC;IAC1D,IAAI,OAAyD,CAAC;IAC9D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IACE,OAAO,KAAK,SAAS;YACrB,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,EACzD,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,EACL,MAAM,EACN,MAAM,GAKP;IACC,OAAO,CACL,eAAK,SAAS,EAAC,iBAAiB,gBAAY,uFAAiB,aAC3D,iBACE,IAAI,EAAC,QAAQ,gBACF,yGAAoB,EAC/B,QAAQ,EAAE,MAAM,IAAI,KAAK,GAAG,CAAC,EAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,YAEjC,cAAK,OAAO,EAAC,WAAW,iBAAa,MAAM,YACzC,eAAM,CAAC,EAAC,2BAA2B,GAAG,GAClC,GACC,EACT,2BACG,KAAK,GAAG,MAAM,OAAG,KAAK,IAClB,EACP,iBACE,IAAI,EAAC,QAAQ,gBACF,mGAAmB,EAC9B,QAAQ,EAAE,MAAM,IAAI,CAAC,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,YAEjC,cAAK,OAAO,EAAC,WAAW,iBAAa,MAAM,YACzC,eAAM,CAAC,EAAC,2BAA2B,GAAG,GAClC,GACC,IACL,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/** Shared time formatting for the QA surface UI. */
|
|
2
|
+
/** `только что`, `5 мин`, `3 ч`, `2 дн` or a ru-RU date past the week. */
|
|
3
|
+
export function relativeTime(timestamp, now) {
|
|
4
|
+
const seconds = Math.max(1, Math.round((now - timestamp) / 1000));
|
|
5
|
+
if (seconds < 60)
|
|
6
|
+
return "только что";
|
|
7
|
+
const minutes = Math.round(seconds / 60);
|
|
8
|
+
if (minutes < 60)
|
|
9
|
+
return `${minutes} мин`;
|
|
10
|
+
const hours = Math.round(minutes / 60);
|
|
11
|
+
if (hours < 24)
|
|
12
|
+
return `${hours} ч`;
|
|
13
|
+
const days = Math.round(hours / 24);
|
|
14
|
+
if (days < 7)
|
|
15
|
+
return `${days} дн`;
|
|
16
|
+
return new Date(timestamp).toLocaleDateString("ru-RU");
|
|
17
|
+
}
|
|
18
|
+
/** `9 сент 15:44` - compact ru-RU day/month plus time. */
|
|
19
|
+
export function formatDayTime(timestamp) {
|
|
20
|
+
const date = new Date(timestamp);
|
|
21
|
+
const month = date
|
|
22
|
+
.toLocaleDateString("ru-RU", { month: "short" })
|
|
23
|
+
.replace(".", "");
|
|
24
|
+
const time = date.toLocaleTimeString("ru-RU", {
|
|
25
|
+
hour: "2-digit",
|
|
26
|
+
minute: "2-digit",
|
|
27
|
+
});
|
|
28
|
+
return `${date.getDate()} ${month} ${time}`;
|
|
29
|
+
}
|
|
30
|
+
/** `1,1 с` below ten seconds, `8 с` above. */
|
|
31
|
+
export function formatSeconds(ms) {
|
|
32
|
+
const seconds = ms / 1_000;
|
|
33
|
+
const value = seconds < 10
|
|
34
|
+
? (Math.round(seconds * 10) / 10).toString()
|
|
35
|
+
: String(Math.round(seconds));
|
|
36
|
+
return `${value.replace(".", ",")} с`;
|
|
37
|
+
}
|
|
38
|
+
export function formatWorkDuration(durationMs) {
|
|
39
|
+
const seconds = Math.max(0, Math.round(durationMs / 1_000));
|
|
40
|
+
if (seconds < 1)
|
|
41
|
+
return "< 1 с";
|
|
42
|
+
if (seconds < 60)
|
|
43
|
+
return `${seconds} с`;
|
|
44
|
+
const minutes = Math.floor(seconds / 60);
|
|
45
|
+
const remainder = seconds % 60;
|
|
46
|
+
return remainder === 0 ? `${minutes} мин` : `${minutes} мин ${remainder} с`;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/client/components/format.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAEpD,0EAA0E;AAC1E,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,GAAW;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAClE,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,YAAY,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,MAAM,CAAC;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,GAAG,KAAK,IAAI,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACpC,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,GAAG,IAAI,KAAK,CAAC;IAClC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACzD,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI;SACf,kBAAkB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;SAC/C,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACpB,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;QAC5C,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;KAClB,CAAC,CAAC;IACH,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC;IAC3B,MAAM,KAAK,GACT,OAAO,GAAG,EAAE;QACV,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC5C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC;IAC5D,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IAChC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,IAAI,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,OAAO,GAAG,EAAE,CAAC;IAC/B,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,QAAQ,SAAS,IAAI,CAAC;AAC9E,CAAC"}
|
package/lib/client/index.js
CHANGED
|
@@ -1,43 +1,86 @@
|
|
|
1
|
+
import qaSurfaceRemote from "@yadsh/dsh-qa-surface/remote";
|
|
1
2
|
import { QaConfigController } from "./QaConfigController.js";
|
|
2
3
|
import { QaRouteController } from "./QaRouteController.js";
|
|
3
4
|
import { QaSurface } from "./QaSurface.js";
|
|
4
5
|
import { QA_SURFACE_STYLES } from "./styles.js";
|
|
5
6
|
const SETTINGS_NAMESPACE = "qa-surface";
|
|
6
|
-
export const inject = [
|
|
7
|
+
export const inject = [
|
|
8
|
+
"slots",
|
|
9
|
+
"sessions",
|
|
10
|
+
"connection",
|
|
11
|
+
"settingsScope",
|
|
12
|
+
"remote",
|
|
13
|
+
];
|
|
7
14
|
/** Register the route-aware, full-frame QA entry in the additive overlay slot. */
|
|
8
|
-
export function apply(ctx) {
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
15
|
+
export async function apply(ctx) {
|
|
16
|
+
const remote = ctx.remote;
|
|
17
|
+
const disposeRemote = await remote.$mount(qaSurfaceRemote);
|
|
18
|
+
await ctx.inject(["remote.qaSurface"], (remoteContext) => {
|
|
19
|
+
const policyRemote = remoteContext.remote
|
|
20
|
+
.qaSurface;
|
|
21
|
+
const secureSession = (sessionId) => policyRemote.secureSession(sessionId);
|
|
22
|
+
const qaApi = {
|
|
23
|
+
selectModel: ctx.connection.api.sessions.selectModel,
|
|
24
|
+
selectAgentPreset: ctx.connection.api.agentPresets.select,
|
|
25
|
+
};
|
|
26
|
+
const route = new QaRouteController();
|
|
27
|
+
const config = new QaConfigController(ctx.settingsScope.bind({
|
|
28
|
+
namespace: SETTINGS_NAMESPACE,
|
|
29
|
+
}), async () => {
|
|
30
|
+
// Settings RPCs are loopback-pinned by the gateway, so a browser the
|
|
31
|
+
// Host serves over the LAN reads the effective configuration here.
|
|
32
|
+
const described = await policyRemote.describe();
|
|
33
|
+
if (!described.ok) {
|
|
34
|
+
throw new Error(`qaSurface/describe failed: ${described.error.code}`);
|
|
35
|
+
}
|
|
36
|
+
return described.value;
|
|
37
|
+
});
|
|
38
|
+
const syncRoute = () => {
|
|
39
|
+
const snapshot = config.getSnapshot();
|
|
40
|
+
route.configure(snapshot.config, snapshot.status === "ready" || snapshot.status === "unavailable");
|
|
41
|
+
};
|
|
42
|
+
syncRoute();
|
|
43
|
+
const unsubscribeConfig = config.subscribe(syncRoute);
|
|
44
|
+
// After a Host restart an open page must re-read the deployment config,
|
|
45
|
+
// or the next attestation compares its proof against a stale copy and
|
|
46
|
+
// refuses. Loopback pages follow the settings mirror; this covers the
|
|
47
|
+
// describe fallback (LAN browsers). Fires on every lost→restored
|
|
48
|
+
// connection transition; while connected, ticks are ignored.
|
|
49
|
+
let connectionUp = ctx.connection.hostDescription.getSnapshot() !== undefined;
|
|
50
|
+
const unsubscribeConnection = ctx.connection.hostDescription.subscribe(() => {
|
|
51
|
+
const connected = ctx.connection.hostDescription.getSnapshot() !== undefined;
|
|
52
|
+
if (connected && !connectionUp)
|
|
53
|
+
config.refreshFallback();
|
|
54
|
+
connectionUp = connected;
|
|
55
|
+
});
|
|
56
|
+
ctx.effect(() => {
|
|
57
|
+
const style = document.createElement("style");
|
|
58
|
+
style.dataset.dshQaSurface = "styles";
|
|
59
|
+
style.textContent = QA_SURFACE_STYLES;
|
|
60
|
+
document.head.append(style);
|
|
61
|
+
return () => style.remove();
|
|
62
|
+
}, "dsh-qa-surface: styles");
|
|
63
|
+
ctx.effect(() => () => {
|
|
64
|
+
unsubscribeConfig();
|
|
65
|
+
unsubscribeConnection();
|
|
66
|
+
config.dispose();
|
|
67
|
+
route.dispose();
|
|
68
|
+
}, "dsh-qa-surface: controllers");
|
|
69
|
+
ctx.slots.inject("shell.overlay", () => ctx.slots.register({
|
|
70
|
+
name: "shell.overlay",
|
|
71
|
+
id: "dsh-qa-surface",
|
|
72
|
+
order: -10_000,
|
|
73
|
+
inject: () => ({
|
|
74
|
+
route,
|
|
75
|
+
config,
|
|
76
|
+
sessions: ctx.sessions,
|
|
77
|
+
api: qaApi,
|
|
78
|
+
connection: ctx.connection.hostDescription,
|
|
79
|
+
secureSession,
|
|
80
|
+
}),
|
|
81
|
+
}, QaSurface));
|
|
82
|
+
});
|
|
83
|
+
return disposeRemote;
|
|
41
84
|
}
|
|
42
85
|
export { QaConfigController } from "./QaConfigController.js";
|
|
43
86
|
export { QaRouteController, matchesQaRoute } from "./QaRouteController.js";
|
package/lib/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"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"}
|