@yadsh/dsh-qa-surface 0.3.0 → 0.5.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 +192 -15
- package/cordis.patch.yml +8 -0
- package/lib/account-remotes.js +100 -0
- package/lib/account-remotes.js.map +1 -0
- package/lib/accounts/credentials.js +35 -0
- package/lib/accounts/credentials.js.map +1 -0
- package/lib/accounts/errors.js +9 -0
- package/lib/accounts/errors.js.map +1 -0
- package/lib/accounts/file.js +101 -0
- package/lib/accounts/file.js.map +1 -0
- package/lib/accounts/store.js +159 -161
- package/lib/accounts/store.js.map +1 -1
- package/lib/accounts/token.js +61 -0
- package/lib/accounts/token.js.map +1 -0
- package/lib/approvals.js +179 -0
- package/lib/approvals.js.map +1 -0
- package/lib/attachment-rules.js +111 -0
- package/lib/attachment-rules.js.map +1 -0
- package/lib/cli.js +132 -9
- package/lib/cli.js.map +1 -1
- package/lib/client/QaAccountsController.js +32 -2
- package/lib/client/QaAccountsController.js.map +1 -1
- package/lib/client/QaSessionController.js +140 -65
- package/lib/client/QaSessionController.js.map +1 -1
- package/lib/client/QaSurface.js +134 -107
- package/lib/client/QaSurface.js.map +1 -1
- package/lib/client/QaTranscriptAdapter.js +71 -6
- package/lib/client/QaTranscriptAdapter.js.map +1 -1
- package/lib/client/approvals.js +104 -0
- package/lib/client/approvals.js.map +1 -0
- package/lib/client/attachments.js +150 -0
- package/lib/client/attachments.js.map +1 -0
- package/lib/client/attestation.js +4 -1
- package/lib/client/attestation.js.map +1 -1
- package/lib/client/base64.js +16 -0
- package/lib/client/base64.js.map +1 -0
- package/lib/client/chat-files.js +48 -0
- package/lib/client/chat-files.js.map +1 -0
- package/lib/client/components/Markdown.js +1 -1
- package/lib/client/components/Markdown.js.map +1 -1
- package/lib/client/components/QaApproval.js +23 -0
- package/lib/client/components/QaApproval.js.map +1 -0
- package/lib/client/components/QaChangelog.js +62 -19
- package/lib/client/components/QaChangelog.js.map +1 -1
- package/lib/client/components/QaComposer.js +56 -74
- package/lib/client/components/QaComposer.js.map +1 -1
- package/lib/client/components/QaFileAttachment.js +19 -0
- package/lib/client/components/QaFileAttachment.js.map +1 -0
- package/lib/client/components/QaFilesPanel.js +45 -0
- package/lib/client/components/QaFilesPanel.js.map +1 -0
- package/lib/client/components/QaHeader.js +34 -0
- package/lib/client/components/QaHeader.js.map +1 -0
- package/lib/client/components/QaMessage.js +17 -4
- package/lib/client/components/QaMessage.js.map +1 -1
- package/lib/client/components/QaModal.js +31 -0
- package/lib/client/components/QaModal.js.map +1 -0
- package/lib/client/components/QaProfile.js +64 -0
- package/lib/client/components/QaProfile.js.map +1 -0
- package/lib/client/components/QaQuestions.js +96 -0
- package/lib/client/components/QaQuestions.js.map +1 -0
- package/lib/client/components/QaRightRail.js +15 -0
- package/lib/client/components/QaRightRail.js.map +1 -0
- package/lib/client/components/QaSidebar.js +6 -1
- package/lib/client/components/QaSidebar.js.map +1 -1
- package/lib/client/components/{QaSourcesDrawer.js → QaSourcesPanel.js} +3 -3
- package/lib/client/components/QaSourcesPanel.js.map +1 -0
- package/lib/client/components/QaTurnRail.js +15 -0
- package/lib/client/components/QaTurnRail.js.map +1 -1
- package/lib/client/components/QaWidthHandle.js +25 -20
- package/lib/client/components/QaWidthHandle.js.map +1 -1
- package/lib/client/components/QaWorkGroup.js +19 -20
- package/lib/client/components/QaWorkGroup.js.map +1 -1
- package/lib/client/components/surface-utils.js +28 -0
- package/lib/client/components/surface-utils.js.map +1 -0
- package/lib/client/components/thinking-phrases.js +24 -0
- package/lib/client/components/thinking-phrases.js.map +1 -0
- package/lib/client/create-session.js +7 -32
- package/lib/client/create-session.js.map +1 -1
- package/lib/client/failure-copy.js +63 -0
- package/lib/client/failure-copy.js.map +1 -0
- package/lib/client/index.js +49 -7
- package/lib/client/index.js.map +1 -1
- package/lib/client/project-session-state.js +5 -3
- package/lib/client/project-session-state.js.map +1 -1
- package/lib/client/prompt-content.js +54 -0
- package/lib/client/prompt-content.js.map +1 -0
- package/lib/client/questions.js +114 -0
- package/lib/client/questions.js.map +1 -0
- package/lib/client/settings/card.js +143 -0
- package/lib/client/settings/card.js.map +1 -0
- package/lib/client/settings/fields.js +145 -0
- package/lib/client/settings/fields.js.map +1 -0
- package/lib/client/settings/format.js +255 -0
- package/lib/client/settings/format.js.map +1 -0
- package/lib/client/settings/sections/access.js +25 -0
- package/lib/client/settings/sections/access.js.map +1 -0
- package/lib/client/settings/sections/accounts.js +47 -0
- package/lib/client/settings/sections/accounts.js.map +1 -0
- package/lib/client/settings/sections/attachments.js +46 -0
- package/lib/client/settings/sections/attachments.js.map +1 -0
- package/lib/client/settings/sections/branding.js +28 -0
- package/lib/client/settings/sections/branding.js.map +1 -0
- package/lib/client/settings/sections/common.js +20 -0
- package/lib/client/settings/sections/common.js.map +1 -0
- package/lib/client/settings/sections/embedding.js +19 -0
- package/lib/client/settings/sections/embedding.js.map +1 -0
- package/lib/client/settings/sections/interface.js +60 -0
- package/lib/client/settings/sections/interface.js.map +1 -0
- package/lib/client/settings/sections/lockdown.js +82 -0
- package/lib/client/settings/sections/lockdown.js.map +1 -0
- package/lib/client/settings/sections/session.js +53 -0
- package/lib/client/settings/sections/session.js.map +1 -0
- package/lib/client/settings/sections/sources.js +74 -0
- package/lib/client/settings/sections/sources.js.map +1 -0
- package/lib/client/settings/sections/status.js +37 -0
- package/lib/client/settings/sections/status.js.map +1 -0
- package/lib/client/settings/sections.js +23 -0
- package/lib/client/settings/sections.js.map +1 -0
- package/lib/client/settings/styles.js +57 -0
- package/lib/client/settings/styles.js.map +1 -0
- package/lib/client/stream-publisher.js +47 -0
- package/lib/client/stream-publisher.js.map +1 -0
- package/lib/client/styles.js +127 -19
- package/lib/client/styles.js.map +1 -1
- package/lib/client/types.js +2 -0
- package/lib/client/types.js.map +1 -1
- package/lib/client/use-right-rail.js +96 -0
- package/lib/client/use-right-rail.js.map +1 -0
- package/lib/client/use-session-ui-state.js +26 -19
- package/lib/client/use-session-ui-state.js.map +1 -1
- package/lib/client.js +5694 -813
- package/lib/client.js.map +1 -1
- package/lib/config-resolvers/accounts.js +60 -0
- package/lib/config-resolvers/accounts.js.map +1 -0
- package/lib/config-resolvers/attachments.js +28 -0
- package/lib/config-resolvers/attachments.js.map +1 -0
- package/lib/config-resolvers/basics.js +61 -0
- package/lib/config-resolvers/basics.js.map +1 -0
- package/lib/config-resolvers/defaults.js +136 -0
- package/lib/config-resolvers/defaults.js.map +1 -0
- package/lib/config-resolvers/lockdown.js +90 -0
- package/lib/config-resolvers/lockdown.js.map +1 -0
- package/lib/config-resolvers/session.js +42 -0
- package/lib/config-resolvers/session.js.map +1 -0
- package/lib/config-resolvers/shared.js +51 -0
- package/lib/config-resolvers/shared.js.map +1 -0
- package/lib/config-resolvers/sources.js +83 -0
- package/lib/config-resolvers/sources.js.map +1 -0
- package/lib/config-resolvers/ui.js +20 -0
- package/lib/config-resolvers/ui.js.map +1 -0
- package/lib/config.js +76 -6
- package/lib/config.js.map +1 -1
- package/lib/entry-redirect.js +2 -1
- package/lib/entry-redirect.js.map +1 -1
- package/lib/index.js +198 -79
- package/lib/index.js.map +1 -1
- package/lib/profile.js +214 -0
- package/lib/profile.js.map +1 -0
- package/lib/prompt-notes.js +231 -0
- package/lib/prompt-notes.js.map +1 -0
- package/lib/provenance/host-store.js +25 -9
- package/lib/provenance/host-store.js.map +1 -1
- package/lib/provenance/reported.js +37 -12
- package/lib/provenance/reported.js.map +1 -1
- package/lib/questions.js +185 -0
- package/lib/questions.js.map +1 -0
- package/lib/resolve-config.js +35 -410
- package/lib/resolve-config.js.map +1 -1
- package/lib/secure-session.js +139 -21
- package/lib/secure-session.js.map +1 -1
- package/lib/session-ownership.js +55 -0
- package/lib/session-ownership.js.map +1 -0
- package/lib/shared/session-key.js +18 -0
- package/lib/shared/session-key.js.map +1 -0
- package/lib/shared/settings.js +10 -0
- package/lib/shared/settings.js.map +1 -0
- package/lib/thinking-phrases.js +68 -0
- package/lib/thinking-phrases.js.map +1 -0
- package/lib/typert.host.js +506 -21
- package/lib/typert.remote-client.d.ts +15 -1
- package/lib/typert.remote-client.js +407 -15
- package/lib/types/account-remotes.d.ts +42 -0
- package/lib/types/accounts/credentials.d.ts +20 -0
- package/lib/types/accounts/errors.d.ts +11 -0
- package/lib/types/accounts/file.d.ts +82 -0
- package/lib/types/accounts/store.d.ts +74 -43
- package/lib/types/accounts/token.d.ts +31 -0
- package/lib/types/approvals.d.ts +65 -0
- package/lib/types/attachment-rules.d.ts +44 -0
- package/lib/types/cli.d.ts +2 -2
- package/lib/types/client/QaAccountsController.d.ts +8 -1
- package/lib/types/client/QaSessionController.d.ts +53 -16
- package/lib/types/client/QaSurface.d.ts +14 -1
- package/lib/types/client/approvals.d.ts +39 -0
- package/lib/types/client/attachments.d.ts +54 -0
- package/lib/types/client/base64.d.ts +10 -0
- package/lib/types/client/chat-files.d.ts +30 -0
- package/lib/types/client/components/QaApproval.d.ts +13 -0
- package/lib/types/client/components/QaChangelog.d.ts +1 -1
- package/lib/types/client/components/QaComposer.d.ts +8 -4
- package/lib/types/client/components/QaFileAttachment.d.ts +14 -0
- package/lib/types/client/components/QaFilesPanel.d.ts +15 -0
- package/lib/types/client/components/QaHeader.d.ts +41 -0
- package/lib/types/client/components/QaMessage.d.ts +3 -1
- package/lib/types/client/components/QaModal.d.ts +26 -0
- package/lib/types/client/components/QaProfile.d.ts +25 -0
- package/lib/types/client/components/QaQuestions.d.ts +13 -0
- package/lib/types/client/components/QaRightRail.d.ts +23 -0
- package/lib/types/client/components/QaSidebar.d.ts +14 -0
- package/lib/types/client/components/{QaSourcesDrawer.d.ts → QaSourcesPanel.d.ts} +7 -4
- package/lib/types/client/components/QaTurnRail.d.ts +6 -0
- package/lib/types/client/components/QaWidthHandle.d.ts +14 -7
- package/lib/types/client/components/QaWorkGroup.d.ts +5 -3
- package/lib/types/client/components/surface-utils.d.ts +11 -0
- package/lib/types/client/components/thinking-phrases.d.ts +9 -0
- package/lib/types/client/create-session.d.ts +6 -9
- package/lib/types/client/failure-copy.d.ts +19 -0
- package/lib/types/client/project-session-state.d.ts +8 -1
- package/lib/types/client/prompt-content.d.ts +30 -0
- package/lib/types/client/questions.d.ts +45 -0
- package/lib/types/client/settings/card.d.ts +23 -0
- package/lib/types/client/settings/fields.d.ts +139 -0
- package/lib/types/client/settings/format.d.ts +108 -0
- package/lib/types/client/settings/sections/access.d.ts +9 -0
- package/lib/types/client/settings/sections/accounts.d.ts +9 -0
- package/lib/types/client/settings/sections/attachments.d.ts +15 -0
- package/lib/types/client/settings/sections/branding.d.ts +8 -0
- package/lib/types/client/settings/sections/common.d.ts +28 -0
- package/lib/types/client/settings/sections/embedding.d.ts +8 -0
- package/lib/types/client/settings/sections/interface.d.ts +9 -0
- package/lib/types/client/settings/sections/lockdown.d.ts +9 -0
- package/lib/types/client/settings/sections/session.d.ts +9 -0
- package/lib/types/client/settings/sections/sources.d.ts +9 -0
- package/lib/types/client/settings/sections/status.d.ts +22 -0
- package/lib/types/client/settings/sections.d.ts +25 -0
- package/lib/types/client/settings/styles.d.ts +8 -0
- package/lib/types/client/stream-publisher.d.ts +28 -0
- package/lib/types/client/types.d.ts +76 -1
- package/lib/types/client/use-right-rail.d.ts +56 -0
- package/lib/types/client/use-session-ui-state.d.ts +13 -7
- package/lib/types/config-resolvers/accounts.d.ts +15 -0
- package/lib/types/config-resolvers/attachments.d.ts +6 -0
- package/lib/types/config-resolvers/basics.d.ts +8 -0
- package/lib/types/config-resolvers/defaults.d.ts +4 -0
- package/lib/types/config-resolvers/lockdown.d.ts +10 -0
- package/lib/types/config-resolvers/session.d.ts +6 -0
- package/lib/types/config-resolvers/shared.d.ts +23 -0
- package/lib/types/config-resolvers/sources.d.ts +6 -0
- package/lib/types/config-resolvers/ui.d.ts +6 -0
- package/lib/types/index.d.ts +48 -15
- package/lib/types/profile.d.ts +76 -0
- package/lib/types/prompt-notes.d.ts +110 -0
- package/lib/types/provenance/reported.d.ts +9 -1
- package/lib/types/questions.d.ts +83 -0
- package/lib/types/resolve-config.d.ts +8 -3
- package/lib/types/secure-session.d.ts +46 -2
- package/lib/types/session-ownership.d.ts +30 -0
- package/lib/types/shared/session-key.d.ts +23 -0
- package/lib/types/shared/settings.d.ts +10 -0
- package/lib/types/thinking-phrases.d.ts +17 -0
- package/lib/types/types.d.ts +203 -9
- package/lib/types/user-workspace.d.ts +42 -0
- package/lib/user-workspace.js +246 -0
- package/lib/user-workspace.js.map +1 -0
- package/package.json +15 -8
- package/CHANGELOG.md +0 -176
- package/SPEC-dsh-qa-surface.md +0 -2425
- package/docs/ARCHITECTURE.md +0 -66
- package/docs/COMPATIBILITY.md +0 -14
- package/docs/CONFIGURATION.md +0 -199
- package/docs/EMBEDDING.md +0 -13
- package/docs/SOURCES-MIGRATION.md +0 -28
- package/docs/SOURCES-PROVENANCE-AUDIT.md +0 -88
- package/docs/SPEC-dsh-qa-surface-accounts.md +0 -219
- package/docs/SPEC-dsh-qa-surface-sources-provenance.md +0 -1692
- package/lib/client/components/QaSourcesDrawer.js.map +0 -1
|
@@ -278,4 +278,19 @@ export function turnScrollTarget(scroller, row) {
|
|
|
278
278
|
const max = Math.max(0, scroller.scrollHeight - scroller.clientHeight);
|
|
279
279
|
return Math.min(max, Math.max(0, top - QA_TURN_LAND_PX));
|
|
280
280
|
}
|
|
281
|
+
/**
|
|
282
|
+
* Find the message slot carrying `anchorId` and land the transcript on it,
|
|
283
|
+
* harness-style. Returns whether the anchor row exists; callers tie their
|
|
284
|
+
* near-bottom bookkeeping and rail-mark updates to that outcome.
|
|
285
|
+
*/
|
|
286
|
+
export function scrollToTranscriptAnchor(scroller, anchorId) {
|
|
287
|
+
const escaped = typeof CSS !== "undefined" && typeof CSS.escape === "function"
|
|
288
|
+
? CSS.escape(anchorId)
|
|
289
|
+
: anchorId;
|
|
290
|
+
const row = scroller.querySelector(`[${QA_TURN_ANCHOR_ATTRIBUTE}="${escaped}"]`);
|
|
291
|
+
if (row === null)
|
|
292
|
+
return false;
|
|
293
|
+
scroller.scrollTop = turnScrollTarget(scroller, row);
|
|
294
|
+
return true;
|
|
295
|
+
}
|
|
281
296
|
//# sourceMappingURL=QaTurnRail.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QaTurnRail.js","sourceRoot":"","sources":["../../../src/client/components/QaTurnRail.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"QaTurnRail.js","sourceRoot":"","sources":["../../../src/client/components/QaTurnRail.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback, useEffect, useLayoutEffect, useRef, useState, } from "react";
|
|
3
|
-
/** DSH's dragged content-width floor; a lower operator cap still wins. */
|
|
4
|
-
export const QA_CONTENT_MIN_WIDTH = 640;
|
|
5
3
|
/**
|
|
6
4
|
* Space kept outside the content: 88px per side leaves room for the handle,
|
|
7
|
-
* its inset, and a safe zone that remains draggable in both directions.
|
|
5
|
+
* its inset, and a safe zone that remains draggable in both directions. It is
|
|
6
|
+
* the whole ceiling too: like DSH, the page bounds the width, so a wide column
|
|
7
|
+
* lets the transcript fill it.
|
|
8
8
|
*/
|
|
9
9
|
export const QA_CONTENT_EDGE_BUDGET = 176;
|
|
10
10
|
const QA_ADAPTIVE_MIN_WIDTH = 680;
|
|
@@ -29,14 +29,19 @@ export function writeQaContentWidth(storage, key, width) {
|
|
|
29
29
|
// Denied durable storage only costs persistence across reloads.
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
/**
|
|
33
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Resolve the centered content width for the currently available column. The
|
|
34
|
+
* operator sets only the floor; the column is the ceiling, so the content may
|
|
35
|
+
* grow until its handles reach the edge budget and a wider window keeps
|
|
36
|
+
* widening it. A column too narrow even for the floor wins over the floor —
|
|
37
|
+
* there is nothing else to give up.
|
|
38
|
+
*/
|
|
39
|
+
export function resolveQaContentWidth(columnWidth, preference, minContentWidth) {
|
|
34
40
|
const available = Math.max(0, columnWidth - QA_CONTENT_EDGE_BUDGET);
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
return Math.min(Math.max(requested, minimum), maximum);
|
|
41
|
+
const minimum = Math.min(minContentWidth, available);
|
|
42
|
+
const adaptive = Math.max(QA_ADAPTIVE_MIN_WIDTH, Math.min(columnWidth * 0.64, QA_ADAPTIVE_MAX_WIDTH));
|
|
43
|
+
const requested = preference ?? Math.max(adaptive, minimum);
|
|
44
|
+
return Math.min(Math.max(requested, minimum), available);
|
|
40
45
|
}
|
|
41
46
|
/** Pointer-captured, rAF-throttled symmetric content-width handle. */
|
|
42
47
|
export function QaWidthHandle(props) {
|
|
@@ -97,15 +102,15 @@ export function QaWidthHandle(props) {
|
|
|
97
102
|
}, [cancelFrame]);
|
|
98
103
|
return (_jsx("div", { className: "dsh-qa-width-handle", "data-side": props.side, "data-width-handle": props.side, "data-dragging": dragging || undefined, onPointerDown: onPointerDown, onPointerMove: onPointerMove, onPointerUp: onPointerUp, onPointerCancel: onPointerCancel, onLostPointerCapture: onPointerCancel }));
|
|
99
104
|
}
|
|
100
|
-
export function useQaContentWidth({ active, root, storage, storageKey,
|
|
105
|
+
export function useQaContentWidth({ active, root, storage, storageKey, minContentWidth, }) {
|
|
101
106
|
const publish = useCallback(() => {
|
|
102
107
|
const element = root.current;
|
|
103
108
|
if (element === null)
|
|
104
109
|
return;
|
|
105
110
|
const preference = readQaContentWidth(storage, storageKey);
|
|
106
|
-
const width = resolveQaContentWidth(element.offsetWidth, preference,
|
|
111
|
+
const width = resolveQaContentWidth(element.offsetWidth, preference, minContentWidth);
|
|
107
112
|
element.style.setProperty("--dsh-qa-content-width", `${width}px`);
|
|
108
|
-
}, [
|
|
113
|
+
}, [minContentWidth, root, storage, storageKey]);
|
|
109
114
|
useLayoutEffect(() => {
|
|
110
115
|
if (!active)
|
|
111
116
|
return;
|
|
@@ -120,23 +125,23 @@ export function useQaContentWidth({ active, root, storage, storageKey, maxConten
|
|
|
120
125
|
const onStart = useCallback(() => {
|
|
121
126
|
const element = root.current;
|
|
122
127
|
if (element === null)
|
|
123
|
-
return
|
|
124
|
-
return resolveQaContentWidth(element.offsetWidth, readQaContentWidth(storage, storageKey),
|
|
125
|
-
}, [
|
|
128
|
+
return minContentWidth;
|
|
129
|
+
return resolveQaContentWidth(element.offsetWidth, readQaContentWidth(storage, storageKey), minContentWidth);
|
|
130
|
+
}, [minContentWidth, root, storage, storageKey]);
|
|
126
131
|
const onDrag = useCallback((requestedWidth) => {
|
|
127
132
|
const element = root.current;
|
|
128
133
|
if (element === null)
|
|
129
134
|
return;
|
|
130
|
-
const width = resolveQaContentWidth(element.offsetWidth, requestedWidth,
|
|
135
|
+
const width = resolveQaContentWidth(element.offsetWidth, requestedWidth, minContentWidth);
|
|
131
136
|
element.style.setProperty("--dsh-qa-content-width", `${width}px`);
|
|
132
|
-
}, [
|
|
137
|
+
}, [minContentWidth, root]);
|
|
133
138
|
const onCommit = useCallback((requestedWidth) => {
|
|
134
139
|
const element = root.current;
|
|
135
140
|
if (element === null)
|
|
136
141
|
return;
|
|
137
|
-
const width = resolveQaContentWidth(element.offsetWidth, requestedWidth,
|
|
142
|
+
const width = resolveQaContentWidth(element.offsetWidth, requestedWidth, minContentWidth);
|
|
138
143
|
writeQaContentWidth(storage, storageKey, width);
|
|
139
|
-
}, [
|
|
144
|
+
}, [minContentWidth, root, storage, storageKey]);
|
|
140
145
|
return { onStart, onDrag, onCommit, onEnd: publish };
|
|
141
146
|
}
|
|
142
147
|
//# sourceMappingURL=QaWidthHandle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QaWidthHandle.js","sourceRoot":"","sources":["../../../src/client/components/QaWidthHandle.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,eAAe,EACf,MAAM,EACN,QAAQ,GAGT,MAAM,OAAO,CAAC;AAEf
|
|
1
|
+
{"version":3,"file":"QaWidthHandle.js","sourceRoot":"","sources":["../../../src/client/components/QaWidthHandle.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,eAAe,EACf,MAAM,EACN,QAAQ,GAGT,MAAM,OAAO,CAAC;AAEf;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAClC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,MAAM,UAAU,kBAAkB,CAChC,OAAiC,EACjC,GAAW;IAEX,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAiC,EACjC,GAAW,EACX,KAAa;IAEb,IAAI,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;IAClE,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,WAAmB,EACnB,UAAyB,EACzB,eAAuB;IAEvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,sBAAsB,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,qBAAqB,EACrB,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,EAAE,qBAAqB,CAAC,CACpD,CAAC;IACF,MAAM,SAAS,GAAG,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;AAC3D,CAAC;AAUD,sEAAsE;AACtE,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;IAE1B,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9C,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACpE,OAAO,IAAI,CAAC,OAAO,GAAG,OAAO,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO;QACnC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAE5C,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,KAAmC,EAAE,EAAE;QACxE,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC/B,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3C,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,KAAmC,EAAE,EAAE;QACxE,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QACxD,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CACnC,iCAAiC,EACjC,GAAG,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,CAC/B,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC;YAAE,OAAO;QACpE,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC/B,KAAK,CAAC,OAAO,KAAK,qBAAqB,CAAC,GAAG,EAAE;YAC3C,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,KAAmC,EAAE,EAAE;QACtC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC;YAAE,OAAO;QACpE,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3D,WAAW,EAAE,CAAC;QACd,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC/B,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;YACtC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,WAAW,EAAE,CAAC;QACd,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,CACL,cACE,SAAS,EAAC,qBAAqB,eACpB,KAAK,CAAC,IAAI,uBACF,KAAK,CAAC,IAAI,mBACd,QAAQ,IAAI,SAAS,EACpC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,oBAAoB,EAAE,eAAe,GACrC,CACH,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,iBAAiB,CAAC,EAChC,MAAM,EACN,IAAI,EACJ,OAAO,EACP,UAAU,EACV,eAAe,GACU;IACzB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO;QAC7B,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,qBAAqB,CACjC,OAAO,CAAC,WAAW,EACnB,UAAU,EACV,eAAe,CAChB,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,wBAAwB,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC;IACpE,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAEjD,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO;QAC7B,OAAO,EAAE,CAAC;QACV,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAE5B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,eAAe,CAAC;QAC7C,OAAO,qBAAqB,CAC1B,OAAO,CAAC,WAAW,EACnB,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,EACvC,eAAe,CAChB,CAAC;IACJ,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAEjD,MAAM,MAAM,GAAG,WAAW,CACxB,CAAC,cAAsB,EAAE,EAAE;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO;QAC7B,MAAM,KAAK,GAAG,qBAAqB,CACjC,OAAO,CAAC,WAAW,EACnB,cAAc,EACd,eAAe,CAChB,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,wBAAwB,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC;IACpE,CAAC,EACD,CAAC,eAAe,EAAE,IAAI,CAAC,CACxB,CAAC;IAEF,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,cAAsB,EAAE,EAAE;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO;QAC7B,MAAM,KAAK,GAAG,qBAAqB,CACjC,OAAO,CAAC,WAAW,EACnB,cAAc,EACd,eAAe,CAChB,CAAC;QACF,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC,EACD,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAC7C,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAW,CAAC;AAChE,CAAC"}
|
|
@@ -2,14 +2,7 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
|
|
|
2
2
|
import { memo, useEffect, useRef, useState } from "react";
|
|
3
3
|
import { formatWorkDuration } from "./format.js";
|
|
4
4
|
import { Markdown } from "./Markdown.js";
|
|
5
|
-
|
|
6
|
-
"Скребу по сусекам…",
|
|
7
|
-
"Кумекаю…",
|
|
8
|
-
"Навожу резкость…",
|
|
9
|
-
"Собираю мысли в кучку…",
|
|
10
|
-
"Раскладываю по полочкам…",
|
|
11
|
-
"Сверяю приметы…",
|
|
12
|
-
]);
|
|
5
|
+
import { thinkingPhrase } from "./thinking-phrases.js";
|
|
13
6
|
function Chevron({ open }) {
|
|
14
7
|
return (_jsx("svg", { className: "dsh-qa-work__chevron", "data-open": open || undefined, viewBox: "0 0 14 14", "aria-hidden": "true", children: _jsx("path", { d: "m5.25 3.5 3.5 3.5-3.5 3.5" }) }));
|
|
15
8
|
}
|
|
@@ -97,17 +90,19 @@ const QaTextWorkItem = memo(function QaTextWorkItem({ item, renderMarkdown, }) {
|
|
|
97
90
|
return (_jsxs("section", { className: "dsh-qa-work-item dsh-qa-work-item--text", "data-state": item.status, "aria-label": item.kind === "reasoning" ? "Рассуждение" : "Ход работы", children: [_jsxs("div", { className: "dsh-qa-work-item__text-head", children: [_jsx("span", { className: "dsh-qa-work-item__icon", children: _jsx(ThinkIcon, {}) }), _jsx("span", { className: "dsh-qa-work-item__label", children: item.kind === "reasoning" ? "Размышление" : "Ход работы" })] }), _jsx("div", { className: "dsh-qa-work-item__text", children: renderMarkdown ? _jsx(Markdown, { text: item.text }) : item.text })] }));
|
|
98
91
|
}, (prev, next) => prev.renderMarkdown === next.renderMarkdown &&
|
|
99
92
|
sameWorkItem(prev.item, next.item));
|
|
100
|
-
export const QaWorkGroup = memo(function QaWorkGroup({ status, startedAt, endedAt, items, renderMarkdown, }) {
|
|
93
|
+
export const QaWorkGroup = memo(function QaWorkGroup({ status, startedAt, endedAt, items, renderMarkdown, thinkingPhrases, }) {
|
|
101
94
|
const [open, setOpen] = useState(status === "running");
|
|
102
95
|
const [now, setNow] = useState(() => Date.now());
|
|
103
96
|
const previousStatus = useRef(status);
|
|
104
97
|
useEffect(() => {
|
|
105
|
-
if (previousStatus.current === "running" &&
|
|
98
|
+
if (previousStatus.current === "running" &&
|
|
99
|
+
(status === "complete" || status === "error")) {
|
|
106
100
|
setOpen(false);
|
|
107
101
|
}
|
|
108
|
-
else if (previousStatus.current === "complete"
|
|
109
|
-
|
|
110
|
-
|
|
102
|
+
else if (previousStatus.current === "complete" ||
|
|
103
|
+
previousStatus.current === "error") {
|
|
104
|
+
if (status === "running")
|
|
105
|
+
setOpen(true);
|
|
111
106
|
}
|
|
112
107
|
previousStatus.current = status;
|
|
113
108
|
}, [status]);
|
|
@@ -118,18 +113,22 @@ export const QaWorkGroup = memo(function QaWorkGroup({ status, startedAt, endedA
|
|
|
118
113
|
const timer = setInterval(() => setNow(Date.now()), 1_000);
|
|
119
114
|
return () => clearInterval(timer);
|
|
120
115
|
}, [startedAt, status]);
|
|
121
|
-
const
|
|
122
|
-
|
|
123
|
-
: formatWorkDuration((endedAt ?? now) - startedAt);
|
|
116
|
+
const elapsed = (endedAt ?? now) - (startedAt ?? now);
|
|
117
|
+
const duration = startedAt === undefined ? null : formatWorkDuration(elapsed);
|
|
124
118
|
const label = status === "running"
|
|
125
|
-
? `${
|
|
126
|
-
:
|
|
127
|
-
?
|
|
128
|
-
|
|
119
|
+
? `${thinkingPhrase(elapsed, thinkingPhrases)}${duration === null ? "" : ` (${duration})`}`
|
|
120
|
+
: status === "error"
|
|
121
|
+
? duration === null
|
|
122
|
+
? "Ход прерван"
|
|
123
|
+
: `Прервано за ${duration}`
|
|
124
|
+
: duration === null
|
|
125
|
+
? "Ход работы"
|
|
126
|
+
: `Готово за ${duration}`;
|
|
129
127
|
return (_jsxs("section", { className: "dsh-qa-work", "data-state": status, children: [_jsxs("button", { type: "button", className: "dsh-qa-work__toggle", "aria-expanded": open, onClick: () => setOpen((value) => !value), children: [status === "running" ? (_jsx("span", { className: "dsh-qa-work__spinner", "aria-hidden": "true" })) : null, _jsx("span", { children: label }), _jsx(Chevron, { open: open })] }), open ? (_jsx("div", { className: "dsh-qa-work__body", children: items.map((item) => item.kind === "tool" ? (_jsx(QaToolWorkItem, { item: item }, item.id)) : (_jsx(QaTextWorkItem, { item: item, renderMarkdown: renderMarkdown }, item.id))) })) : null] }));
|
|
130
128
|
}, (prev, next) => prev.status === next.status &&
|
|
131
129
|
prev.startedAt === next.startedAt &&
|
|
132
130
|
prev.endedAt === next.endedAt &&
|
|
133
131
|
prev.renderMarkdown === next.renderMarkdown &&
|
|
132
|
+
prev.thinkingPhrases === next.thinkingPhrases &&
|
|
134
133
|
sameWorkItems(prev.items, next.items));
|
|
135
134
|
//# sourceMappingURL=QaWorkGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QaWorkGroup.js","sourceRoot":"","sources":["../../../src/client/components/QaWorkGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"QaWorkGroup.js","sourceRoot":"","sources":["../../../src/client/components/QaWorkGroup.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Small pure projections of the session state shared by surface regions: the
|
|
3
|
+
* composer's status line and the conversation title. Keeping them out of
|
|
4
|
+
* QaSurface leaves that file pure composition.
|
|
5
|
+
*/
|
|
6
|
+
/** The composer's status line, or null when nothing is due. */
|
|
7
|
+
export function statusText(state, runningPhrase) {
|
|
8
|
+
if (state.phase === "creating")
|
|
9
|
+
return "Подключаюсь…";
|
|
10
|
+
if (state.phase === "reconnecting")
|
|
11
|
+
return "Связь потерялась. Подключаюсь снова…";
|
|
12
|
+
if (state.phase === "running")
|
|
13
|
+
return runningPhrase;
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
/** The conversation title derived from the first user prompt, clipped. */
|
|
17
|
+
export function titleFromMessages(state) {
|
|
18
|
+
const firstUser = state.messages.find((message) => message.role === "user");
|
|
19
|
+
if (firstUser === undefined)
|
|
20
|
+
return null;
|
|
21
|
+
const title = firstUser.text.replace(/\s+/gu, " ").trim();
|
|
22
|
+
if (title === "")
|
|
23
|
+
return null;
|
|
24
|
+
if (title.length <= 52)
|
|
25
|
+
return title;
|
|
26
|
+
return `${title.slice(0, 51).trimEnd()}…`;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=surface-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface-utils.js","sourceRoot":"","sources":["../../../src/client/components/surface-utils.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,+DAA+D;AAC/D,MAAM,UAAU,UAAU,CACxB,KAAqB,EACrB,aAA4B;IAE5B,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU;QAAE,OAAO,cAAc,CAAC;IACtD,IAAI,KAAK,CAAC,KAAK,KAAK,cAAc;QAChC,OAAO,sCAAsC,CAAC;IAChD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC;IACpD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,iBAAiB,CAAC,KAAqB;IACrD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAC5E,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
|
+
import { DEFAULT_THINKING_PHRASES, thinkingPhrase, } from "../../thinking-phrases.js";
|
|
3
|
+
export { DEFAULT_THINKING_PHRASES, thinkingPhrase };
|
|
4
|
+
/** Re-render cadence; a phrase only changes on an interval edge. */
|
|
5
|
+
const CLOCK_TICK_MS = 1_000;
|
|
6
|
+
/**
|
|
7
|
+
* Phrase for a turn that started at `startedAt`. Every reader that passes the
|
|
8
|
+
* same start time and phrase list lands on the same phrase, so the composer
|
|
9
|
+
* hint and the work list never disagree.
|
|
10
|
+
*/
|
|
11
|
+
export function useThinkingPhrase(running, startedAt, phrases = DEFAULT_THINKING_PHRASES) {
|
|
12
|
+
const [now, setNow] = useState(() => Date.now());
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
if (!running)
|
|
15
|
+
return;
|
|
16
|
+
setNow(Date.now());
|
|
17
|
+
const timer = setInterval(() => setNow(Date.now()), CLOCK_TICK_MS);
|
|
18
|
+
return () => clearInterval(timer);
|
|
19
|
+
}, [running]);
|
|
20
|
+
if (!running)
|
|
21
|
+
return null;
|
|
22
|
+
return thinkingPhrase(now - (startedAt ?? now), phrases);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=thinking-phrases.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thinking-phrases.js","sourceRoot":"","sources":["../../../src/client/components/thinking-phrases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EACL,wBAAwB,EACxB,cAAc,GACf,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,CAAC;AAEpD,oEAAoE;AACpE,MAAM,aAAa,GAAG,KAAK,CAAC;AAE5B;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAgB,EAChB,SAA6B,EAC7B,OAAO,GAAsB,wBAAwB;IAErD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAEjD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACnB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;QACnE,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,cAAc,CAAC,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -11,41 +11,16 @@ function wireFailure(error) {
|
|
|
11
11
|
return message === "" ? code : `${code}: ${message}`;
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* `agent-preset/selected`, which the client projection replays. The session
|
|
14
|
+
* Ask the QA Host boundary to create a fully composed session. The browser
|
|
15
|
+
* supplies only its account token and cannot select cwd, workspace, owner,
|
|
16
|
+
* preset, model, or permission policy. The resulting session
|
|
18
17
|
* is addressed only here — no prompt can run before the caller attests the
|
|
19
18
|
* composed preset.
|
|
20
19
|
*/
|
|
21
20
|
export async function createQaSession(args) {
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
: config.session.cwd !== null
|
|
27
|
-
? { cwd: config.session.cwd }
|
|
28
|
-
: {}),
|
|
29
|
-
});
|
|
30
|
-
const id = String(created);
|
|
31
|
-
if (config.session.agentPreset !== null) {
|
|
32
|
-
const selectedPreset = await api.selectAgentPreset(id, config.session.agentPreset);
|
|
33
|
-
if (!selectedPreset.ok) {
|
|
34
|
-
throw new Error(wireFailure(selectedPreset.error));
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
if (config.session.provider !== null && config.session.model !== null) {
|
|
38
|
-
const selected = await api.selectModel({
|
|
39
|
-
sessionId: id,
|
|
40
|
-
provider: config.session.provider,
|
|
41
|
-
model: config.session.model,
|
|
42
|
-
...(config.session.reasoningEffort === null
|
|
43
|
-
? {}
|
|
44
|
-
: { reasoningEffort: config.session.reasoningEffort }),
|
|
45
|
-
});
|
|
46
|
-
if (!selected.ok)
|
|
47
|
-
throw new Error(wireFailure(selected.error));
|
|
48
|
-
}
|
|
49
|
-
return id;
|
|
21
|
+
const created = await args.createSession(args.token);
|
|
22
|
+
if (!created.ok)
|
|
23
|
+
throw new Error(wireFailure(created.error));
|
|
24
|
+
return created.value;
|
|
50
25
|
}
|
|
51
26
|
//# sourceMappingURL=create-session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-session.js","sourceRoot":"","sources":["../../src/client/create-session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-session.js","sourceRoot":"","sources":["../../src/client/create-session.ts"],"names":[],"mappings":"AAEA;;6EAE6E;AAC7E,SAAS,WAAW,CAAC,KAAc;IACjC,MAAM,IAAI,GACR,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK;QAC5D,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,IAAI,IAAI,EAAE,CAAC;QAClD,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,OAAO,GACX,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,IAAI,KAAK;QAC/D,CAAC,CAAC,MAAM,CAAE,KAA+B,CAAC,OAAO,IAAI,EAAE,CAAC;QACxD,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAGrC;IACC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,OAAO,OAAO,CAAC,KAAK,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QA-facing copy for provider failures, keyed by the stable failure code the
|
|
3
|
+
* host records on retry and turn-end events. Raw provider messages never
|
|
4
|
+
* reach these rows — they can carry stack traces and local paths — so every
|
|
5
|
+
* text here derives from the code alone.
|
|
6
|
+
*/
|
|
7
|
+
/** Short cause label used inside the retry row copy. */
|
|
8
|
+
function failureCause(code) {
|
|
9
|
+
switch (code) {
|
|
10
|
+
case "TRANSPORT":
|
|
11
|
+
return "обрыв связи";
|
|
12
|
+
case "STREAM_CLOSED":
|
|
13
|
+
return "поток оборвался";
|
|
14
|
+
case "TIMEOUT":
|
|
15
|
+
return "таймаут провайдера";
|
|
16
|
+
case "RATE_LIMIT":
|
|
17
|
+
return "лимит запросов";
|
|
18
|
+
case "SERVER":
|
|
19
|
+
return "ошибка провайдера";
|
|
20
|
+
case "EMPTY_RESPONSE":
|
|
21
|
+
return "пустой ответ";
|
|
22
|
+
case undefined:
|
|
23
|
+
return "сбой";
|
|
24
|
+
default:
|
|
25
|
+
return `сбой (${code})`;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/** Terminal turn-failure row shown after the work group. */
|
|
29
|
+
export function turnErrorCopy(code) {
|
|
30
|
+
switch (code) {
|
|
31
|
+
case "TRANSPORT":
|
|
32
|
+
case "STREAM_CLOSED":
|
|
33
|
+
case "TIMEOUT":
|
|
34
|
+
return "Обрыв связи с провайдером. Ответ не сохранился — отправь запрос ещё раз.";
|
|
35
|
+
case "RATE_LIMIT":
|
|
36
|
+
return "Провайдер ограничил частоту запросов — попытки исчерпаны. Попробуй ещё раз через минуту.";
|
|
37
|
+
case "QUOTA":
|
|
38
|
+
return "Квота провайдера исчерпана — сообщи оператору стенда.";
|
|
39
|
+
case "AUTH":
|
|
40
|
+
return "Провайдер отклонил доступ (ключ или права) — сообщи оператору стенда.";
|
|
41
|
+
case "SERVER":
|
|
42
|
+
return "Провайдер вернул ошибку сервера — попытки исчерпаны. Попробуй ещё раз позже.";
|
|
43
|
+
default:
|
|
44
|
+
return "Помощнику не удалось завершить ответ.";
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/** Work-group row for one host-scheduled model-request retry. */
|
|
48
|
+
export function retryWorkCopy(node) {
|
|
49
|
+
const attempt = node.mode === "normal" && typeof node.maxRetries === "number"
|
|
50
|
+
? `${node.retry} из ${node.maxRetries}`
|
|
51
|
+
: `${node.retry} (без лимита)`;
|
|
52
|
+
switch (node.retryState) {
|
|
53
|
+
case "scheduled": {
|
|
54
|
+
const seconds = Math.max(1, Math.round(node.delayMs / 1_000));
|
|
55
|
+
return `Сбой запроса к провайдеру (${failureCause(node.failureCode)}) — повторная попытка ${attempt} через ${seconds} с`;
|
|
56
|
+
}
|
|
57
|
+
case "started":
|
|
58
|
+
return `Сбой запроса к провайдеру (${failureCause(node.failureCode)}) — повторная попытка ${attempt} выполняется`;
|
|
59
|
+
case "cancelled":
|
|
60
|
+
return `Повторная попытка ${attempt} отменена (ход прерван)`;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=failure-copy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"failure-copy.js","sourceRoot":"","sources":["../../src/client/failure-copy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wDAAwD;AACxD,SAAS,YAAY,CAAC,IAAwB;IAC5C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW;YACd,OAAO,aAAa,CAAC;QACvB,KAAK,eAAe;YAClB,OAAO,iBAAiB,CAAC;QAC3B,KAAK,SAAS;YACZ,OAAO,oBAAoB,CAAC;QAC9B,KAAK,YAAY;YACf,OAAO,gBAAgB,CAAC;QAC1B,KAAK,QAAQ;YACX,OAAO,mBAAmB,CAAC;QAC7B,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,SAAS,IAAI,GAAG,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,aAAa,CAAC,IAAwB;IACpD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW,CAAC;QACjB,KAAK,eAAe,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,0EAA0E,CAAC;QACpF,KAAK,YAAY;YACf,OAAO,0FAA0F,CAAC;QACpG,KAAK,OAAO;YACV,OAAO,uDAAuD,CAAC;QACjE,KAAK,MAAM;YACT,OAAO,uEAAuE,CAAC;QACjF,KAAK,QAAQ;YACX,OAAO,8EAA8E,CAAC;QACxF;YACE,OAAO,uCAAuC,CAAC;IACnD,CAAC;AACH,CAAC;AAWD,iEAAiE;AACjE,MAAM,UAAU,aAAa,CAAC,IAAqB;IACjD,MAAM,OAAO,GACX,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;QAC3D,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,UAAU,EAAE;QACvC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,eAAe,CAAC;IACnC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,KAAK,WAAW,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;YAC9D,OAAO,8BAA8B,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,OAAO,UAAU,OAAO,IAAI,CAAC;QAC3H,CAAC;QACD,KAAK,SAAS;YACZ,OAAO,8BAA8B,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,OAAO,cAAc,CAAC;QACpH,KAAK,WAAW;YACd,OAAO,qBAAqB,OAAO,yBAAyB,CAAC;IACjE,CAAC;AACH,CAAC"}
|
package/lib/client/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import qaSurfaceRemote from "@yadsh/dsh-qa-surface/remote";
|
|
2
|
+
import { registerSettingsCard } from "@yadsh/dsh-plugin-kit/client";
|
|
2
3
|
import { QaConfigController } from "./QaConfigController.js";
|
|
3
4
|
import { matchesQaRoute, QaRouteController } from "./QaRouteController.js";
|
|
4
5
|
import { QaAccountsController } from "./QaAccountsController.js";
|
|
@@ -6,10 +7,13 @@ import { QaChatIndex } from "./chat-index.js";
|
|
|
6
7
|
import { QaSurface } from "./QaSurface.js";
|
|
7
8
|
import { QaWelcomeNoticeStep } from "./components/QaWelcomeNotice.js";
|
|
8
9
|
import { QA_SURFACE_STYLES } from "./styles.js";
|
|
9
|
-
|
|
10
|
+
import { QA_SURFACE_SETTINGS_NAMESPACE } from "../shared/settings.js";
|
|
11
|
+
import { qaStorageNamespace } from "../shared/session-key.js";
|
|
12
|
+
import { QaSettingsCard } from "./settings/card.js";
|
|
13
|
+
import { QA_SETTINGS_STYLES } from "./settings/styles.js";
|
|
10
14
|
const QA_WELCOME_SLOT_ID = "welcome-notice";
|
|
11
15
|
function qaWelcomeStorageKey(config) {
|
|
12
|
-
return `${config
|
|
16
|
+
return `${qaStorageNamespace(config)}:welcome-notice`;
|
|
13
17
|
}
|
|
14
18
|
export const inject = [
|
|
15
19
|
"slots",
|
|
@@ -35,6 +39,15 @@ export async function apply(ctx) {
|
|
|
35
39
|
sources: (token, sessionId) => policyRemote.sources(token, sessionId),
|
|
36
40
|
readSourceFile: (token, sessionId, sourcePath) => policyRemote.readSourceFile(token, sessionId, sourcePath),
|
|
37
41
|
};
|
|
42
|
+
const questionApi = {
|
|
43
|
+
pendingQuestions: (token, sessionId) => policyRemote.pendingQuestions(token, sessionId),
|
|
44
|
+
answerQuestion: (token, sessionId, requestId, answers) => policyRemote.answerQuestion(token, sessionId, requestId, answers),
|
|
45
|
+
cancelQuestion: (token, sessionId, requestId) => policyRemote.cancelQuestion(token, sessionId, requestId),
|
|
46
|
+
};
|
|
47
|
+
const approvalApi = {
|
|
48
|
+
pendingApprovals: (token, sessionId) => policyRemote.pendingApprovals(token, sessionId),
|
|
49
|
+
answerApproval: (token, sessionId, requestId, decision) => policyRemote.answerApproval(token, sessionId, requestId, decision),
|
|
50
|
+
};
|
|
38
51
|
// The account gate rides its own remote; a stale token simply answers
|
|
39
52
|
// "not authenticated" and the browser shows the login card.
|
|
40
53
|
const accounts = new QaAccountsController({
|
|
@@ -45,7 +58,7 @@ export async function apply(ctx) {
|
|
|
45
58
|
// A standalone index view over the same prefix: reads the chat ids
|
|
46
59
|
// this browser accumulated before accounts existed.
|
|
47
60
|
const snapshot = config.getSnapshot().config;
|
|
48
|
-
const index = new QaChatIndex(window.localStorage,
|
|
61
|
+
const index = new QaChatIndex(window.localStorage, qaStorageNamespace(snapshot));
|
|
49
62
|
const ids = [...index.chatIds()];
|
|
50
63
|
const active = index.activeId();
|
|
51
64
|
if (active !== null && !ids.includes(active))
|
|
@@ -54,13 +67,16 @@ export async function apply(ctx) {
|
|
|
54
67
|
},
|
|
55
68
|
forgetChat: (sessionId) => {
|
|
56
69
|
const snapshot = config.getSnapshot().config;
|
|
57
|
-
new QaChatIndex(window.localStorage,
|
|
70
|
+
new QaChatIndex(window.localStorage, qaStorageNamespace(snapshot)).forgetChat(sessionId);
|
|
58
71
|
},
|
|
59
72
|
});
|
|
60
73
|
const route = new QaRouteController();
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
74
|
+
// One binding for both readers: the surface projects it into the page's
|
|
75
|
+
// configuration, the settings card edits the same namespace through it.
|
|
76
|
+
const settingsScope = ctx.settingsScope.bind({
|
|
77
|
+
namespace: QA_SURFACE_SETTINGS_NAMESPACE,
|
|
78
|
+
});
|
|
79
|
+
const config = new QaConfigController(settingsScope, async () => {
|
|
64
80
|
// Settings RPCs are loopback-pinned by the gateway, so a browser the
|
|
65
81
|
// Host serves over the LAN reads the effective configuration here.
|
|
66
82
|
const described = await policyRemote.describe();
|
|
@@ -71,6 +87,23 @@ export async function apply(ctx) {
|
|
|
71
87
|
// declarations during an incremental source typecheck.
|
|
72
88
|
return described.value;
|
|
73
89
|
});
|
|
90
|
+
// The operator edits this deployment through the shared plugin-cards
|
|
91
|
+
// tab: the same namespace the page reads, plus the Host's own answer
|
|
92
|
+
// about what it resolved. Its stylesheet is the card shell, not the QA
|
|
93
|
+
// page's palette.
|
|
94
|
+
ctx.effect(() => {
|
|
95
|
+
const cardFace = {
|
|
96
|
+
scope: settingsScope,
|
|
97
|
+
describe: () => policyRemote.describe(),
|
|
98
|
+
};
|
|
99
|
+
return registerSettingsCard(remoteContext, {
|
|
100
|
+
key: QA_SURFACE_SETTINGS_NAMESPACE,
|
|
101
|
+
pluginName: "@yadsh/dsh-qa-surface",
|
|
102
|
+
styles: QA_SETTINGS_STYLES,
|
|
103
|
+
component: QaSettingsCard,
|
|
104
|
+
inject: () => cardFace,
|
|
105
|
+
});
|
|
106
|
+
}, "dsh-qa-surface: settings-card");
|
|
74
107
|
const syncRoute = () => {
|
|
75
108
|
const snapshot = config.getSnapshot();
|
|
76
109
|
route.configure(snapshot.config, snapshot.status === "ready" || snapshot.status === "unavailable");
|
|
@@ -162,8 +195,17 @@ export async function apply(ctx) {
|
|
|
162
195
|
api: qaApi,
|
|
163
196
|
connection: ctx.connection.generation,
|
|
164
197
|
secureSession,
|
|
198
|
+
createSession: (token) => policyRemote.createSession(token),
|
|
165
199
|
sourceApi,
|
|
200
|
+
approvalApi,
|
|
201
|
+
questionApi,
|
|
166
202
|
accounts,
|
|
203
|
+
// The upload service is optional on the page: a deployment that
|
|
204
|
+
// does not serve it keeps images, and a staged file refuses the
|
|
205
|
+
// send with a message instead of losing the draft. Read through
|
|
206
|
+
// the untyped service lookup on purpose — the QA bundle does not
|
|
207
|
+
// link the upload package.
|
|
208
|
+
fileUpload: () => ctx.get("fileUpload"),
|
|
167
209
|
}),
|
|
168
210
|
}, QaSurface));
|
|
169
211
|
});
|