dsh-better-display 0.1.1 → 0.2.1
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 +177 -4
- package/README.en.md +17 -3
- package/README.md +17 -3
- package/lib/client.js +42319 -41533
- package/lib/client.js.map +1 -1
- package/lib/dsh-better-display.js +51 -55
- package/lib/types/client/Blocks.d.ts +4 -1
- package/lib/types/client/Blocks.d.ts.map +1 -1
- package/lib/types/client/Blocks.js +11 -4
- package/lib/types/client/Blocks.js.map +1 -1
- package/lib/types/client/ChoreographedFlow.d.ts.map +1 -1
- package/lib/types/client/ChoreographedFlow.js +68 -20
- package/lib/types/client/ChoreographedFlow.js.map +1 -1
- package/lib/types/client/ClosedProcessSummary.d.ts.map +1 -1
- package/lib/types/client/ClosedProcessSummary.js +3 -2
- package/lib/types/client/ClosedProcessSummary.js.map +1 -1
- package/lib/types/client/DiffPanel.d.ts +13 -0
- package/lib/types/client/DiffPanel.d.ts.map +1 -0
- package/lib/types/client/DiffPanel.js +115 -0
- package/lib/types/client/DiffPanel.js.map +1 -0
- package/lib/types/client/Reader.d.ts.map +1 -1
- package/lib/types/client/Reader.js +88 -54
- package/lib/types/client/Reader.js.map +1 -1
- package/lib/types/client/ReasoningCard.d.ts.map +1 -1
- package/lib/types/client/ReasoningCard.js +29 -8
- package/lib/types/client/ReasoningCard.js.map +1 -1
- package/lib/types/client/SettingsSection.d.ts +35 -0
- package/lib/types/client/SettingsSection.d.ts.map +1 -0
- package/lib/types/client/SettingsSection.js +62 -0
- package/lib/types/client/SettingsSection.js.map +1 -0
- package/lib/types/client/StickyLane.d.ts.map +1 -1
- package/lib/types/client/StickyLane.js +16 -5
- package/lib/types/client/StickyLane.js.map +1 -1
- package/lib/types/client/ToolActivity.d.ts.map +1 -1
- package/lib/types/client/ToolActivity.js +53 -5
- package/lib/types/client/ToolActivity.js.map +1 -1
- package/lib/types/client/WaitClock.d.ts +16 -0
- package/lib/types/client/WaitClock.d.ts.map +1 -0
- package/lib/types/client/WaitClock.js +29 -0
- package/lib/types/client/WaitClock.js.map +1 -0
- package/lib/types/client/WaitingClock.d.ts +15 -0
- package/lib/types/client/WaitingClock.d.ts.map +1 -0
- package/lib/types/client/WaitingClock.js +30 -0
- package/lib/types/client/WaitingClock.js.map +1 -0
- package/lib/types/client/WaitingStatus.d.ts.map +1 -1
- package/lib/types/client/WaitingStatus.js +4 -14
- package/lib/types/client/WaitingStatus.js.map +1 -1
- package/lib/types/client/fold-choreography.d.ts +12 -0
- package/lib/types/client/fold-choreography.d.ts.map +1 -1
- package/lib/types/client/fold-choreography.js +18 -1
- package/lib/types/client/fold-choreography.js.map +1 -1
- package/lib/types/client/fold-intensity.d.ts +9 -0
- package/lib/types/client/fold-intensity.d.ts.map +1 -0
- package/lib/types/client/fold-intensity.js +25 -0
- package/lib/types/client/fold-intensity.js.map +1 -0
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/index.js +68 -16
- package/lib/types/client/index.js.map +1 -1
- package/lib/types/client/live-turn.d.ts.map +1 -1
- package/lib/types/client/live-turn.js +46 -0
- package/lib/types/client/live-turn.js.map +1 -1
- package/lib/types/client/motion.d.ts.map +1 -1
- package/lib/types/client/motion.js +89 -12
- package/lib/types/client/motion.js.map +1 -1
- package/lib/types/client/open-file.d.ts +6 -1
- package/lib/types/client/open-file.d.ts.map +1 -0
- package/lib/types/client/open-file.js +71 -0
- package/lib/types/client/open-file.js.map +1 -0
- package/lib/types/client/pending-submission.d.ts +28 -0
- package/lib/types/client/pending-submission.d.ts.map +1 -0
- package/lib/types/client/pending-submission.js +28 -0
- package/lib/types/client/pending-submission.js.map +1 -0
- package/lib/types/client/reasoning-follow.d.ts +5 -1
- package/lib/types/client/reasoning-follow.d.ts.map +1 -1
- package/lib/types/client/reasoning-follow.js +13 -4
- package/lib/types/client/reasoning-follow.js.map +1 -1
- package/lib/types/client/resource-address.d.ts +3 -0
- package/lib/types/client/resource-address.d.ts.map +1 -0
- package/lib/types/client/resource-address.js +33 -0
- package/lib/types/client/resource-address.js.map +1 -0
- package/lib/types/client/settings-copy.d.ts +3 -2
- package/lib/types/client/settings-copy.d.ts.map +1 -0
- package/lib/types/client/settings-copy.js +49 -0
- package/lib/types/client/settings-copy.js.map +1 -0
- package/lib/types/client/settings-slots.d.ts +7 -0
- package/lib/types/client/settings-slots.d.ts.map +1 -0
- package/lib/types/client/settings-slots.js +2 -0
- package/lib/types/client/settings-slots.js.map +1 -0
- package/lib/types/client/settings.d.ts +4 -0
- package/lib/types/client/settings.d.ts.map +1 -0
- package/lib/types/client/settings.js +60 -0
- package/lib/types/client/settings.js.map +1 -0
- package/lib/types/client/skill-status.d.ts +25 -0
- package/lib/types/client/skill-status.d.ts.map +1 -0
- package/lib/types/client/skill-status.js +44 -0
- package/lib/types/client/skill-status.js.map +1 -0
- package/lib/types/client/store.d.ts +14 -0
- package/lib/types/client/store.d.ts.map +1 -1
- package/lib/types/client/store.js +23 -2
- package/lib/types/client/store.js.map +1 -1
- package/lib/types/client/stream-buffer.d.ts +11 -3
- package/lib/types/client/stream-buffer.d.ts.map +1 -1
- package/lib/types/client/stream-buffer.js +39 -2
- package/lib/types/client/stream-buffer.js.map +1 -1
- package/lib/types/client/streaming.d.ts.map +1 -1
- package/lib/types/client/streaming.js +9 -2
- package/lib/types/client/streaming.js.map +1 -1
- package/lib/types/client/tool-activity.d.ts +46 -0
- package/lib/types/client/tool-activity.d.ts.map +1 -1
- package/lib/types/client/tool-activity.js +116 -0
- package/lib/types/client/tool-activity.js.map +1 -1
- package/lib/types/client/types.d.ts +15 -2
- package/lib/types/client/types.d.ts.map +1 -1
- package/lib/types/client/waiting-clock.d.ts +34 -2
- package/lib/types/client/waiting-clock.d.ts.map +1 -1
- package/lib/types/client/waiting-clock.js +62 -6
- package/lib/types/client/waiting-clock.js.map +1 -1
- package/lib/types/client/word-timeline.d.ts +4 -0
- package/lib/types/client/word-timeline.d.ts.map +1 -1
- package/lib/types/client/word-timeline.js +21 -2
- package/lib/types/client/word-timeline.js.map +1 -1
- package/lib/types/dsh-better-display.d.ts.map +1 -1
- package/lib/types/dsh-better-display.js +42 -2
- package/lib/types/dsh-better-display.js.map +1 -1
- package/lib/types/skill-roots.d.ts +22 -0
- package/lib/types/skill-roots.d.ts.map +1 -0
- package/lib/types/skill-roots.js +126 -0
- package/lib/types/skill-roots.js.map +1 -0
- package/lib/types/skill-status.d.ts +36 -0
- package/lib/types/skill-status.d.ts.map +1 -0
- package/lib/types/skill-status.js +51 -0
- package/lib/types/skill-status.js.map +1 -0
- package/package.json +1 -1
- package/src/client/Blocks.tsx +11 -4
- package/src/client/ChoreographedFlow.tsx +68 -18
- package/src/client/ClosedProcessSummary.tsx +6 -2
- package/src/client/DiffPanel.tsx +124 -0
- package/src/client/Reader.module.css +319 -6
- package/src/client/Reader.tsx +78 -42
- package/src/client/ReasoningCard.tsx +27 -6
- package/src/client/SettingsSection.module.css +37 -0
- package/src/client/SettingsSection.tsx +64 -6
- package/src/client/StickyLane.tsx +13 -3
- package/src/client/ToolActivity.tsx +70 -5
- package/src/client/WaitClock.tsx +33 -0
- package/src/client/WaitingStatus.tsx +6 -15
- package/src/client/fold-choreography.ts +18 -1
- package/src/client/fold-intensity.ts +28 -0
- package/src/client/index.tsx +28 -2
- package/src/client/live-turn.ts +43 -0
- package/src/client/motion.tsx +80 -15
- package/src/client/reasoning-follow.ts +20 -4
- package/src/client/settings-copy.ts +21 -0
- package/src/client/store.ts +40 -2
- package/src/client/stream-buffer.ts +38 -2
- package/src/client/streaming.tsx +9 -1
- package/src/client/tool-activity.ts +139 -0
- package/src/client/types.ts +18 -3
- package/src/client/waiting-clock.ts +64 -6
- package/src/client/word-timeline.ts +19 -2
- package/tests/fold-choreography.test.ts +16 -0
- package/tests/fold-intensity.test.ts +94 -0
- package/tests/footer-precedence.test.ts +129 -0
- package/tests/open-file.test.ts +11 -0
- package/tests/stock-install.test.ts +8 -0
- package/tests/stream-buffer.test.ts +8 -3
- package/tests/tool-diff.test.ts +57 -0
- package/tests/waiting-clock.test.ts +78 -19
- package/tests/word-timeline.test.ts +14 -4
|
@@ -3,7 +3,7 @@ import { memo, useEffect, useId, useMemo, useRef, useState } from 'react';
|
|
|
3
3
|
import { DiffBlock, DisclosureRow, JsonTree, ReadBlock, SearchBlock, TerminalBlock, WebBlock, IconApiOutline14, IconBrowseOutline16, IconEditOutline16, IconSearchOutline16, IconSkillOutline16, IconSparkle16 } from '@deepseek-ai/dsh-client-ui-primitives';
|
|
4
4
|
import { Blocks, contentBlocks } from './Blocks.js';
|
|
5
5
|
import { ProcessFragment } from './motion.js';
|
|
6
|
-
import { activityPhase, activitySummary, executionFacts, objectValue } from './tool-activity.js';
|
|
6
|
+
import { activityPhase, activitySummary, callDiffHunks, diffTotals, executionFacts, objectValue } from './tool-activity.js';
|
|
7
7
|
import { classifyTool, toolRowModel, VARIANT_TITLES } from './native/tool-call-model.js';
|
|
8
8
|
import { McpAppFrame, StreamingMcpAppPlaceholder } from './McpAppFrame.js';
|
|
9
9
|
import { diffBlockLabels, jsonTreeLabels, readBlockLabels, searchBlockLabels, terminalBlockLabels, webBlockLabels } from './primitive-labels.js';
|
|
@@ -42,6 +42,8 @@ function readLines(value) {
|
|
|
42
42
|
}
|
|
43
43
|
return lines;
|
|
44
44
|
}
|
|
45
|
+
/** A step past this reads as slow rather than merely in progress. */
|
|
46
|
+
const SLOW_TOOL_MS = 10_000;
|
|
45
47
|
function diffHunks(value) {
|
|
46
48
|
if (!Array.isArray(value) || value.length === 0)
|
|
47
49
|
return null;
|
|
@@ -73,6 +75,17 @@ function searchFiles(value) {
|
|
|
73
75
|
}
|
|
74
76
|
return files;
|
|
75
77
|
}
|
|
78
|
+
function CustomToolWrapper({ Component, block, toolName, cwd, openFile }) {
|
|
79
|
+
const containerRef = useRef(null);
|
|
80
|
+
useEffect(() => {
|
|
81
|
+
// If the component renders a collapsed disclosure row (like DiffCard with role="button" and aria-expanded="false"),
|
|
82
|
+
// expand it automatically once so details are immediately visible inside ResultView.
|
|
83
|
+
const row = containerRef.current?.querySelector('[role="button"][aria-expanded="false"]');
|
|
84
|
+
if (row)
|
|
85
|
+
row.click();
|
|
86
|
+
}, []);
|
|
87
|
+
return (_jsx("div", { ref: containerRef, "data-reader-tool-custom": true, children: _jsx(Component, { block: block, toolName: toolName, cwd: cwd, openFile: openFile }) }));
|
|
88
|
+
}
|
|
76
89
|
function ResultView({ entry, model, phase, ...render }) {
|
|
77
90
|
if ((model.name === 'render_ui' || model.name === 'show_widget') && typeof model.args?.html === 'string') {
|
|
78
91
|
return _jsx(McpAppFrame, { html: model.args.html, title: typeof model.args.title === 'string' ? model.args.title : undefined, fillComposer: render.fillComposer });
|
|
@@ -84,6 +97,10 @@ function ResultView({ entry, model, phase, ...render }) {
|
|
|
84
97
|
const text = block.content.filter(item => item.type === 'text').map(item => item.text).join('\n');
|
|
85
98
|
if (phase === 'interrupted')
|
|
86
99
|
return _jsxs(_Fragment, { children: [_jsx("p", { className: css.toolDetailNote, children: "\u5DE5\u5177\u5DF2\u53D6\u6D88\uFF0C\u672A\u6B63\u5E38\u5B8C\u6210\u3002\u8F93\u5165\u548C\u539F\u59CB\u8FD4\u56DE\u8BB0\u5F55\u4ECD\u53EF\u67E5\u770B\u3002" }), _jsx(InputView, { model: model, preparing: false, fillComposer: render.fillComposer }), _jsx("pre", { className: css.toolRaw, children: text })] });
|
|
100
|
+
const CustomToolView = render.getToolView?.(model.name);
|
|
101
|
+
if (CustomToolView) {
|
|
102
|
+
return _jsx(CustomToolWrapper, { Component: CustomToolView, block: block, toolName: model.name, cwd: model.cwd, openFile: render.openFile });
|
|
103
|
+
}
|
|
87
104
|
if (model.category === 'terminal') {
|
|
88
105
|
const facts = executionFacts(block);
|
|
89
106
|
const output = text.replace(/\n\[(?:exit code: \d+|killed by signal: [^\]\n]+)\]$/, '');
|
|
@@ -92,8 +109,11 @@ function ResultView({ entry, model, phase, ...render }) {
|
|
|
92
109
|
const lines = readLines(meta?.lines);
|
|
93
110
|
if (model.category === 'read' && typeof meta?.path === 'string' && typeof meta.totalLines === 'number' && lines)
|
|
94
111
|
return _jsx("div", { "data-reader-tool-file": true, children: _jsx(ReadBlock, { label: meta.path, lang: typeof meta.lang === 'string' ? meta.lang : undefined, lines: lines, totalLines: meta.totalLines, maxLines: 18, labels: readBlockLabels }) });
|
|
95
|
-
|
|
96
|
-
|
|
112
|
+
// The host's own hunks when it sent them; otherwise derive them from the call's
|
|
113
|
+
// arguments, which is also what the official row does while a write is pending.
|
|
114
|
+
// Both the counts and this card read the same source, so they cannot disagree.
|
|
115
|
+
const diffs = diffHunks(meta?.diffs) ?? callDiffHunks(block, model.args, model.name);
|
|
116
|
+
if (diffs.length)
|
|
97
117
|
return _jsx("div", { "data-reader-tool-diff": true, children: _jsx(DiffBlock, { diffs: diffs, maxLines: 18, labels: diffBlockLabels }) });
|
|
98
118
|
if (model.category === 'search' && typeof meta?.total === 'number' && typeof meta.truncated === 'boolean') {
|
|
99
119
|
if (meta.shape === 'paths' && Array.isArray(meta.paths) && meta.paths.every((path) => typeof path === 'string'))
|
|
@@ -156,8 +176,35 @@ export const ToolActivity = memo(function ToolActivityView({ entry, motion, turn
|
|
|
156
176
|
const rowTitle = model.name === 'skill' ? 'Skill' : native?.title ?? VARIANT_TITLES[classifyTool(model.name)];
|
|
157
177
|
const rowSummary = phase === 'interrupted' ? '已停止 · 调用记录保留' : model.name === 'skill' ? skillName : native?.errorSummary ?? native?.summary
|
|
158
178
|
?? (classifyTool(model.name) === 'others' ? `${model.name} · ${model.target ?? model.title}` : model.target ?? model.title);
|
|
179
|
+
// Files that changed get the same +/- line counts the official tool row shows,
|
|
180
|
+
// read straight from the diff the host attached to the result.
|
|
181
|
+
const diff = useMemo(() => diffTotals(block, model.args, model.name), [block, model.args, model.name]);
|
|
182
|
+
// The changed lines ride in the row's own expansion, the way the official tool
|
|
183
|
+
// row shows them — one disclosure, not a second floating widget.
|
|
159
184
|
const showState = phase === 'preparing' || phase === 'running' || phase === 'failed' || phase === 'interrupted';
|
|
185
|
+
const running = phase === 'preparing' || phase === 'running';
|
|
186
|
+
// A step that has not returned yet counts its own seconds, so a long command
|
|
187
|
+
// reads as progress rather than as a stall. The clock is idle-rendered off the
|
|
188
|
+
// row's own call time, and disappears the moment the result arrives.
|
|
189
|
+
const [liveMs, setLiveMs] = useState(null);
|
|
190
|
+
const openedAt = useRef(null);
|
|
191
|
+
useEffect(() => {
|
|
192
|
+
if (!running) {
|
|
193
|
+
openedAt.current = null;
|
|
194
|
+
setLiveMs(null);
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
const stamped = block && 'kind' in block && block.callTime != null ? block.callTime : null;
|
|
198
|
+
const base = stamped ?? (openedAt.current ??= Date.now());
|
|
199
|
+
const tick = () => setLiveMs(Math.max(0, Date.now() - base));
|
|
200
|
+
tick();
|
|
201
|
+
const timer = setInterval(tick, 200);
|
|
202
|
+
return () => clearInterval(timer);
|
|
203
|
+
}, [running, block]);
|
|
160
204
|
const elapsed = block && 'kind' in block && block.callTime != null ? Math.max(0, block.time - block.callTime) : null;
|
|
205
|
+
// A step that ran long keeps showing how long it took after it returns: the
|
|
206
|
+
// number is the point of the readout. A fast step shows nothing once it is done.
|
|
207
|
+
const shownMs = liveMs ?? (elapsed !== null && elapsed >= SLOW_TOOL_MS ? elapsed : null);
|
|
161
208
|
const rawResult = useMemo(() => {
|
|
162
209
|
const value = preview.entry.block;
|
|
163
210
|
return value && 'kind' in value ? JSON.stringify({ content: value.content, isError: value.isError, meta: value.meta }, null, 2) : '';
|
|
@@ -166,7 +213,7 @@ export const ToolActivity = memo(function ToolActivityView({ entry, motion, turn
|
|
|
166
213
|
const activate = (index) => { const item = tabs[(index + tabs.length) % tabs.length]; setTab(item[0]); tabRefs.current[(index + tabs.length) % tabs.length]?.focus(); };
|
|
167
214
|
if (depth > 6)
|
|
168
215
|
return _jsx("p", { className: css.meta, children: "\u66F4\u6DF1\u7684\u5D4C\u5957\u8C03\u7528\u53EF\u5728\u539F\u5BF9\u8BDD\u67E5\u770B\u3002" });
|
|
169
|
-
return _jsxs("div", { ref: element => { control.current = element?.querySelector('[data-disclosure-row]') ?? null; }, className: css.toolActivity, "data-reader-tool-call": entry.callId, "data-tool-phase": phase, "data-tool-args-length": model.raw.length, "data-tool-category": model.category, "data-expanded": open, "data-ud-check": "reader-tool-activity", children: [_jsx(DisclosureRow, { icon: _jsx(Icon, { size: 14 }), title: rowTitle, open: open, expandable: true, expandOnRowClick: true, keepContentWhenOpen: true, onToggle: () => { onRead(); setOpen(value => !value); }, rowClassName: css.nativeToolRow, collapsedContent: _jsxs(_Fragment, { children: [_jsx("span", { className: css.rowSeparator, "aria-hidden": true }), _jsx("span", { className: css.nativeToolSummary, title: rowSummary, "data-reader-tool-summary": true, children: rowSummary }), showState && _jsx("span", { className: css.toolState, "data-phase": phase, children: LABEL[phase] })] }) }), _jsx(ProcessFragment, { open: open, motion: motion, onRead: onRead, returnFocusTo: control, nodeKey: `${entry.key}:detail`, framed: true, children: _jsxs("div", { id: detailId, className: css.toolDetails, children: [_jsxs("div", { className: css.toolLedger, "aria-live": "off", children: [_jsxs("span", { children: ["\u5DE5\u5177 \u00B7 ", _jsx("span", { className: css.toolEngine, children: model.name })] }), _jsx("span", { "data-reader-tool-progress": true, children: phase === 'preparing' ? `已接收 ${number.format(model.raw.length)} 字符输入` : phase === 'running' ? '已提交 · 等待工具返回' : phase === 'interrupted' ? '已停止 · 输入记录保留' : elapsed !== null ? `执行 ${duration(elapsed)}` : '结果已记录' }), facts.exitCode !== undefined && _jsxs("span", { children: ["\u9000\u51FA\u7801 ", facts.exitCode] }), facts.signal && _jsxs("span", { children: ["\u4FE1\u53F7 ", facts.signal] })] }), _jsx("div", { className: css.toolTabs, role: "tablist", "aria-label": `${model.title}的执行数据`, onKeyDown: event => {
|
|
216
|
+
return _jsxs("div", { ref: element => { control.current = element?.querySelector('[data-disclosure-row]') ?? null; }, className: css.toolActivity, "data-reader-tool-call": entry.callId, "data-tool-phase": phase, "data-tool-args-length": model.raw.length, "data-tool-category": model.category, "data-expanded": open, "data-ud-check": "reader-tool-activity", children: [_jsx(DisclosureRow, { icon: _jsx(Icon, { size: 14 }), title: rowTitle, open: open, expandable: true, expandOnRowClick: true, keepContentWhenOpen: true, onToggle: () => { onRead(); setOpen(value => !value); }, rowClassName: css.nativeToolRow, collapsedContent: _jsxs(_Fragment, { children: [_jsx("span", { className: css.rowSeparator, "aria-hidden": true }), _jsx("span", { className: css.nativeToolSummary, title: rowSummary, "data-reader-tool-summary": true, ...(running ? { 'data-running': '' } : {}), children: rowSummary }), shownMs !== null && _jsxs("span", { className: css.toolElapsed, "data-reader-tool-elapsed": true, ...(shownMs >= SLOW_TOOL_MS ? { 'data-slow': '' } : {}), children: [(shownMs / 1000).toFixed(shownMs < 10000 ? 1 : 0), "s"] }), diff && _jsxs("span", { className: css.diffStat, "data-reader-diff-stat": true, children: [diff.added > 0 && _jsxs("span", { className: css.diffAdded, children: ["+", number.format(diff.added)] }), diff.removed > 0 && _jsxs("span", { className: css.diffRemoved, children: ["-", number.format(diff.removed)] })] }), showState && _jsx("span", { className: css.toolState, "data-phase": phase, children: LABEL[phase] })] }) }), _jsx(ProcessFragment, { open: open, motion: motion, onRead: onRead, returnFocusTo: control, nodeKey: `${entry.key}:detail`, framed: true, children: _jsxs("div", { id: detailId, className: css.toolDetails, children: [_jsxs("div", { className: css.toolLedger, "aria-live": "off", children: [_jsxs("span", { children: ["\u5DE5\u5177 \u00B7 ", _jsx("span", { className: css.toolEngine, children: model.name })] }), _jsx("span", { "data-reader-tool-progress": true, children: phase === 'preparing' ? `已接收 ${number.format(model.raw.length)} 字符输入` : phase === 'running' ? '已提交 · 等待工具返回' : phase === 'interrupted' ? '已停止 · 输入记录保留' : elapsed !== null ? `执行 ${duration(elapsed)}` : '结果已记录' }), facts.exitCode !== undefined && _jsxs("span", { children: ["\u9000\u51FA\u7801 ", facts.exitCode] }), facts.signal && _jsxs("span", { children: ["\u4FE1\u53F7 ", facts.signal] })] }), _jsx("div", { className: css.toolTabs, role: "tablist", "aria-label": `${model.title}的执行数据`, onKeyDown: event => {
|
|
170
217
|
const index = tabs.findIndex(item => item[0] === tab);
|
|
171
218
|
if (event.key === 'ArrowRight' || event.key === 'ArrowLeft') {
|
|
172
219
|
event.preventDefault();
|
|
@@ -180,7 +227,8 @@ export const ToolActivity = memo(function ToolActivityView({ entry, motion, turn
|
|
|
180
227
|
}, (previous, next) => previous.entry.callId === next.entry.callId && previous.entry.block === next.entry.block
|
|
181
228
|
&& previous.entry.draft === next.entry.draft && previous.entry.step === next.entry.step
|
|
182
229
|
&& previous.motion === next.motion && previous.turnClosed === next.turnClosed && previous.depth === next.depth
|
|
183
|
-
&& previous.onRead === next.onRead && previous.renderSlotChain === next.renderSlotChain && previous.loadImage === next.loadImage && previous.fillComposer === next.fillComposer
|
|
230
|
+
&& previous.onRead === next.onRead && previous.renderSlotChain === next.renderSlotChain && previous.loadImage === next.loadImage && previous.fillComposer === next.fillComposer
|
|
231
|
+
&& previous.getToolView === next.getToolView);
|
|
184
232
|
/** Rich media (images, MCP widgets) rendered outside the folded tool ledger. */
|
|
185
233
|
export function ToolMedia({ block, depth = 0, ...render }) {
|
|
186
234
|
if (depth > 6)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolActivity.js","sourceRoot":"","sources":["../../../src/client/ToolActivity.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ToolActivity.js","sourceRoot":"","sources":["../../../src/client/ToolActivity.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** Past this, a wait stops being a pause and reads as the model not answering. */
|
|
2
|
+
export declare const WAIT_OVERTIME_MS = 10000;
|
|
3
|
+
/**
|
|
4
|
+
* How long the model has been given the turn, counted in plain seconds.
|
|
5
|
+
*
|
|
6
|
+
* Just the number and, past ten seconds, a「暂未响应」badge — no bar, because the
|
|
7
|
+
* question the reader has is「how long has this been hanging」, not「how far
|
|
8
|
+
* along」: there is no known total to be a fraction of.
|
|
9
|
+
*
|
|
10
|
+
* The clock restarts whenever the anchor changes, so each wait is timed from the
|
|
11
|
+
* event that started it rather than from the beginning of the turn.
|
|
12
|
+
*/
|
|
13
|
+
export declare function WaitClock({ startTime }: {
|
|
14
|
+
startTime: number | null;
|
|
15
|
+
}): import("react").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=WaitClock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WaitClock.d.ts","sourceRoot":"","sources":["../../../src/client/WaitClock.tsx"],"names":[],"mappings":"AAIA,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAEvC;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,+BAepE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import { formatRunDuration } from './message-chrome.js';
|
|
4
|
+
import css from './Reader.module.css';
|
|
5
|
+
/** Past this, a wait stops being a pause and reads as the model not answering. */
|
|
6
|
+
export const WAIT_OVERTIME_MS = 10_000;
|
|
7
|
+
/**
|
|
8
|
+
* How long the model has been given the turn, counted in plain seconds.
|
|
9
|
+
*
|
|
10
|
+
* Just the number and, past ten seconds, a「暂未响应」badge — no bar, because the
|
|
11
|
+
* question the reader has is「how long has this been hanging」, not「how far
|
|
12
|
+
* along」: there is no known total to be a fraction of.
|
|
13
|
+
*
|
|
14
|
+
* The clock restarts whenever the anchor changes, so each wait is timed from the
|
|
15
|
+
* event that started it rather than from the beginning of the turn.
|
|
16
|
+
*/
|
|
17
|
+
export function WaitClock({ startTime }) {
|
|
18
|
+
const [mountedAt] = useState(() => Date.now());
|
|
19
|
+
const [now, setNow] = useState(() => Date.now());
|
|
20
|
+
const anchor = startTime ?? mountedAt;
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
const id = setInterval(() => setNow(Date.now()), 250);
|
|
23
|
+
return () => clearInterval(id);
|
|
24
|
+
}, []);
|
|
25
|
+
const waited = Math.max(0, now - anchor);
|
|
26
|
+
const overtime = waited >= WAIT_OVERTIME_MS;
|
|
27
|
+
return _jsxs("span", { className: css.waitClock, "data-reader-wait-clock": true, ...(overtime ? { 'data-overtime': '' } : {}), children: [_jsx("span", { className: css.waitSeconds, children: formatRunDuration(waited) }), overtime && _jsx("span", { className: css.waitOvertime, "data-reader-wait-badge": true, children: "\u6682\u672A\u54CD\u5E94" })] });
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=WaitClock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WaitClock.js","sourceRoot":"","sources":["../../../src/client/WaitClock.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,GAAG,MAAM,qBAAqB,CAAC;AAEtC,kFAAkF;AAClF,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEvC;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,EAAE,SAAS,EAAgC;IACnE,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,SAAS,IAAI,SAAS,CAAC;IACtC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACtD,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,gBAAgB,CAAC;IAC5C,OAAO,gBAAM,SAAS,EAAE,GAAG,CAAC,SAAS,qCAC/B,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAC7C,eAAM,SAAS,EAAE,GAAG,CAAC,WAAW,YAAG,iBAAiB,CAAC,MAAM,CAAC,GAAQ,EACnE,QAAQ,IAAI,eAAM,SAAS,EAAE,GAAG,CAAC,YAAY,yEAAoC,IAC7E,CAAC;AACV,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Past this, a wait stops being a pause and becomes worth flagging. */
|
|
2
|
+
export declare const WAIT_OVERTIME_MS = 10000;
|
|
3
|
+
/**
|
|
4
|
+
* The elapsed seconds of a wait, plus a bar that fills toward the ten-second
|
|
5
|
+
* mark. Lives beside the status label rather than in the reader's own footer,
|
|
6
|
+
* because the group status is what the eye is on while the model works — and it
|
|
7
|
+
* is the only indicator that survives the model emitting its first tool call.
|
|
8
|
+
*
|
|
9
|
+
* Before the mark, the bar reads as progress; after it, the badge says the wait
|
|
10
|
+
* has run long while the seconds keep counting.
|
|
11
|
+
*/
|
|
12
|
+
export declare function WaitClock({ startTime }: {
|
|
13
|
+
startTime: number | null;
|
|
14
|
+
}): import("react").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=WaitingClock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WaitingClock.d.ts","sourceRoot":"","sources":["../../../src/client/WaitingClock.tsx"],"names":[],"mappings":"AAIA,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAEvC;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,+BAqBpE"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import { formatRunDuration } from './message-chrome.js';
|
|
4
|
+
import css from './Reader.module.css';
|
|
5
|
+
/** Past this, a wait stops being a pause and becomes worth flagging. */
|
|
6
|
+
export const WAIT_OVERTIME_MS = 10_000;
|
|
7
|
+
/**
|
|
8
|
+
* The elapsed seconds of a wait, plus a bar that fills toward the ten-second
|
|
9
|
+
* mark. Lives beside the status label rather than in the reader's own footer,
|
|
10
|
+
* because the group status is what the eye is on while the model works — and it
|
|
11
|
+
* is the only indicator that survives the model emitting its first tool call.
|
|
12
|
+
*
|
|
13
|
+
* Before the mark, the bar reads as progress; after it, the badge says the wait
|
|
14
|
+
* has run long while the seconds keep counting.
|
|
15
|
+
*/
|
|
16
|
+
export function WaitClock({ startTime }) {
|
|
17
|
+
const [mountedAt] = useState(() => Date.now());
|
|
18
|
+
const [now, setNow] = useState(() => Date.now());
|
|
19
|
+
const anchor = startTime ?? mountedAt;
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
// 250ms keeps the bar moving smoothly; only the readout changes after that.
|
|
22
|
+
const id = setInterval(() => setNow(Date.now()), 250);
|
|
23
|
+
return () => clearInterval(id);
|
|
24
|
+
}, []);
|
|
25
|
+
const waited = Math.max(0, now - anchor);
|
|
26
|
+
const overtime = waited >= WAIT_OVERTIME_MS;
|
|
27
|
+
const progress = Math.min(1, waited / WAIT_OVERTIME_MS);
|
|
28
|
+
return _jsxs("span", { className: css.waitClock, "data-reader-wait-clock": true, ...(overtime ? { 'data-overtime': '' } : {}), children: [_jsxs("span", { className: css.waitTrack, "aria-hidden": "true", children: [_jsx("span", { className: css.waitFill, style: { transform: `scaleX(${progress})` } }), _jsx("span", { className: css.waitMark, title: "10 \u79D2" })] }), _jsx("span", { className: css.waitSeconds, children: formatRunDuration(waited) }), overtime && _jsx("span", { className: css.waitOvertime, "data-reader-wait-badge": true, children: "\u6682\u672A\u54CD\u5E94" })] });
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=WaitingClock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WaitingClock.js","sourceRoot":"","sources":["../../../src/client/WaitingClock.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,GAAG,MAAM,qBAAqB,CAAC;AAEtC,wEAAwE;AACxE,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEvC;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,EAAE,SAAS,EAAgC;IACnE,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,SAAS,IAAI,SAAS,CAAC;IACtC,SAAS,CAAC,GAAG,EAAE;QACb,4EAA4E;QAC5E,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACtD,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,gBAAgB,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC;IACxD,OAAO,gBAAM,SAAS,EAAE,GAAG,CAAC,SAAS,qCAC/B,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAC7C,gBAAM,SAAS,EAAE,GAAG,CAAC,SAAS,iBAAc,MAAM,aAChD,eAAM,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,QAAQ,GAAG,EAAE,GAAI,EAC9E,eAAM,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAC,WAAM,GAAG,IACzC,EACP,eAAM,SAAS,EAAE,GAAG,CAAC,WAAW,YAAG,iBAAiB,CAAC,MAAM,CAAC,GAAQ,EACnE,QAAQ,IAAI,eAAM,SAAS,EAAE,GAAG,CAAC,YAAY,yEAAoC,IAC7E,CAAC;AACV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaitingStatus.d.ts","sourceRoot":"","sources":["../../../src/client/WaitingStatus.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WaitingStatus.d.ts","sourceRoot":"","sources":["../../../src/client/WaitingStatus.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,+BAQxF"}
|
|
@@ -1,19 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { formatRunDuration } from './message-chrome.js';
|
|
2
|
+
import { WaitClock } from './WaitClock.js';
|
|
4
3
|
import css from './Reader.module.css';
|
|
5
4
|
export function WaitingStatus({ anchor, label }) {
|
|
6
|
-
// A new input gets its own clock even if the waiting indicator stays mounted
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
function InputClock({ startTime, label }) {
|
|
10
|
-
const [mountedAt] = useState(() => Date.now());
|
|
11
|
-
const [now, setNow] = useState(() => Date.now());
|
|
12
|
-
const anchor = startTime ?? mountedAt;
|
|
13
|
-
useEffect(() => {
|
|
14
|
-
const id = setInterval(() => setNow(Date.now()), 1000);
|
|
15
|
-
return () => clearInterval(id);
|
|
16
|
-
}, []);
|
|
17
|
-
return _jsxs("div", { className: css.turnStatus, role: "status", "aria-live": "polite", "data-reader-turn-status": true, "data-reader-wait-start": anchor, children: [_jsx("span", { className: css.turnStatusLabel, children: label }), _jsx("span", { className: css.turnStatusClock, "aria-hidden": "true", children: formatRunDuration(Math.max(0, now - anchor)) })] });
|
|
5
|
+
// A new input gets its own clock even if the waiting indicator stays mounted;
|
|
6
|
+
// the readout itself is shared with the group status so the two never disagree.
|
|
7
|
+
return _jsxs("div", { className: css.turnStatus, role: "status", "aria-live": "polite", "data-reader-turn-status": true, "data-reader-wait-start": anchor.time ?? '', children: [_jsx("span", { className: css.turnStatusLabel, children: label }), _jsx(WaitClock, { startTime: anchor.time }, anchor.key)] });
|
|
18
8
|
}
|
|
19
9
|
//# sourceMappingURL=WaitingStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaitingStatus.js","sourceRoot":"","sources":["../../../src/client/WaitingStatus.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"WaitingStatus.js","sourceRoot":"","sources":["../../../src/client/WaitingStatus.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,GAAG,MAAM,qBAAqB,CAAC;AAEtC,MAAM,UAAU,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,EAA4C;IACvF,8EAA8E;IAC9E,gFAAgF;IAChF,OAAO,eAAK,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAC,QAAQ,eAAW,QAAQ,6DAC7C,MAAM,CAAC,IAAI,IAAI,EAAE,aACzC,eAAM,SAAS,EAAE,GAAG,CAAC,eAAe,YAAG,KAAK,GAAQ,EACpD,KAAC,SAAS,IAAkB,SAAS,EAAE,MAAM,CAAC,IAAI,IAAlC,MAAM,CAAC,GAAG,CAA4B,IAClD,CAAC;AACT,CAAC"}
|
|
@@ -5,6 +5,18 @@ export declare const FOLD_TIMING: {
|
|
|
5
5
|
readonly count: 160;
|
|
6
6
|
readonly settle: 80;
|
|
7
7
|
readonly reveal: 180;
|
|
8
|
+
/**
|
|
9
|
+
* Slack added to every phase deadline before the watchdog forces the next phase.
|
|
10
|
+
*
|
|
11
|
+
* The choreography advances on animation promises and rendered frames. Both are
|
|
12
|
+
* best-effort: a cancelled animation *rejects* and a compositor that never
|
|
13
|
+
* finishes one leaves its promise pending, while a backgrounded tab stops
|
|
14
|
+
* delivering frames. Without a deadline the machine would sit in a non-idle
|
|
15
|
+
* phase forever, and a non-idle phase freezes both the frame source and the text
|
|
16
|
+
* reveal, so the turn would look stuck until a remount. This is the liveness
|
|
17
|
+
* guarantee that does not depend on any of them.
|
|
18
|
+
*/
|
|
19
|
+
readonly watchdogSlack: 240;
|
|
8
20
|
};
|
|
9
21
|
export type FoldPhase = 'idle' | 'collapse' | 'count' | 'settle' | 'reveal';
|
|
10
22
|
export type FlowRow = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fold-choreography.d.ts","sourceRoot":"","sources":["../../../src/client/fold-choreography.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE7D,kDAAkD;AAClD,eAAO,MAAM,WAAW;;;;;
|
|
1
|
+
{"version":3,"file":"fold-choreography.d.ts","sourceRoot":"","sources":["../../../src/client/fold-choreography.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE7D,kDAAkD;AAClD,eAAO,MAAM,WAAW;;;;;IAKtB;;;;;;;;;;OAUG;;CAEK,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC5E,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAC/E;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpE,yFAAyF;AACzF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,EAAE,CAIlE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,EAAE,KAAK,EAAE,SAAS,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,EAAE,CAG/I;AAED,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,EAAE,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,EAAE,CAUxG;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,EAAE,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAGxG"}
|
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
/** Presentation clock, not model/network time. */
|
|
2
|
-
export const FOLD_TIMING = {
|
|
2
|
+
export const FOLD_TIMING = {
|
|
3
|
+
collapse: 320,
|
|
4
|
+
count: 160,
|
|
5
|
+
settle: 80,
|
|
6
|
+
reveal: 180,
|
|
7
|
+
/**
|
|
8
|
+
* Slack added to every phase deadline before the watchdog forces the next phase.
|
|
9
|
+
*
|
|
10
|
+
* The choreography advances on animation promises and rendered frames. Both are
|
|
11
|
+
* best-effort: a cancelled animation *rejects* and a compositor that never
|
|
12
|
+
* finishes one leaves its promise pending, while a backgrounded tab stops
|
|
13
|
+
* delivering frames. Without a deadline the machine would sit in a non-idle
|
|
14
|
+
* phase forever, and a non-idle phase freezes both the frame source and the text
|
|
15
|
+
* reveal, so the turn would look stuck until a remount. This is the liveness
|
|
16
|
+
* guarantee that does not depend on any of them.
|
|
17
|
+
*/
|
|
18
|
+
watchdogSlack: 240,
|
|
19
|
+
};
|
|
3
20
|
/** A step always has the same parent and React key, even when its membership changes. */
|
|
4
21
|
export function flowRows(items) {
|
|
5
22
|
return items.flatMap((item) => item.kind === 'fold'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fold-choreography.js","sourceRoot":"","sources":["../../../src/client/fold-choreography.ts"],"names":[],"mappings":"AAEA,kDAAkD;AAClD,MAAM,CAAC,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"fold-choreography.js","sourceRoot":"","sources":["../../../src/client/fold-choreography.ts"],"names":[],"mappings":"AAEA,kDAAkD;AAClD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,GAAG;IACX;;;;;;;;;;OAUG;IACH,aAAa,EAAE,GAAG;CACV,CAAC;AAMX,yFAAyF;AACzF,MAAM,UAAU,QAAQ,CAAC,KAA8B;IACrD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAa,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM;QAC5D,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC5I,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAA+B,EAAE,KAA8B,EAAE,IAAuC;IACnI,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACpI,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACxH,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,YAAY,CAAC,MAA+B,EAAE,MAA+B;IAC3F,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxF,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,IAAI,EAAE,IAAI,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACrI,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAA+B,EAAE,KAA8B;IAC7F,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACzF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Three-stop fold intensity persisted on `dsh.reader.v1`. Default is standard. */
|
|
2
|
+
export type FoldIntensity = 0 | 1 | 2;
|
|
3
|
+
export declare const FOLD_INTENSITY_DEFAULT: FoldIntensity;
|
|
4
|
+
/** Level 0: nothing auto-folds. Level 1: current-main choreography. Level 2: process summaries. */
|
|
5
|
+
export declare function foldIntensityOf(state: unknown): FoldIntensity;
|
|
6
|
+
export declare function frostedGlassOf(state: unknown): boolean;
|
|
7
|
+
export declare function autoFoldFromIntensity(intensity: FoldIntensity): boolean;
|
|
8
|
+
export declare function processOnlyFromIntensity(intensity: FoldIntensity): boolean;
|
|
9
|
+
//# sourceMappingURL=fold-intensity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fold-intensity.d.ts","sourceRoot":"","sources":["../../../src/client/fold-intensity.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEtC,eAAO,MAAM,sBAAsB,EAAE,aAAiB,CAAC;AAEvD,mGAAmG;AACnG,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAM7D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKtD;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAEvE;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAE1E"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export const FOLD_INTENSITY_DEFAULT = 1;
|
|
2
|
+
/** Level 0: nothing auto-folds. Level 1: current-main choreography. Level 2: process summaries. */
|
|
3
|
+
export function foldIntensityOf(state) {
|
|
4
|
+
const rec = state && typeof state === 'object' ? state : {};
|
|
5
|
+
if (rec.foldIntensity === 0 || rec.foldIntensity === 1 || rec.foldIntensity === 2)
|
|
6
|
+
return rec.foldIntensity;
|
|
7
|
+
if (rec.processOnly === true)
|
|
8
|
+
return 2;
|
|
9
|
+
if (rec.autoFold === false)
|
|
10
|
+
return 0;
|
|
11
|
+
return FOLD_INTENSITY_DEFAULT;
|
|
12
|
+
}
|
|
13
|
+
export function frostedGlassOf(state) {
|
|
14
|
+
if (state && typeof state === 'object' && 'frostedGlass' in state) {
|
|
15
|
+
return state.frostedGlass === true;
|
|
16
|
+
}
|
|
17
|
+
return state === true;
|
|
18
|
+
}
|
|
19
|
+
export function autoFoldFromIntensity(intensity) {
|
|
20
|
+
return intensity !== 0;
|
|
21
|
+
}
|
|
22
|
+
export function processOnlyFromIntensity(intensity) {
|
|
23
|
+
return intensity === 2;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=fold-intensity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fold-intensity.js","sourceRoot":"","sources":["../../../src/client/fold-intensity.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,sBAAsB,GAAkB,CAAC,CAAC;AAEvD,mGAAmG;AACnG,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,MAAM,GAAG,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,IAAI,GAAG,CAAC,aAAa,KAAK,CAAC,IAAI,GAAG,CAAC,aAAa,KAAK,CAAC,IAAI,GAAG,CAAC,aAAa,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC,aAAa,CAAC;IAC5G,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC;IACvC,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK;QAAE,OAAO,CAAC,CAAC;IACrC,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,IAAI,KAAK,EAAE,CAAC;QAClE,OAAQ,KAAoC,CAAC,YAAY,KAAK,IAAI,CAAC;IACrE,CAAC;IACD,OAAO,KAAK,KAAK,IAAI,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,SAAwB;IAC5D,OAAO,SAAS,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,SAAwB;IAC/D,OAAO,SAAS,KAAK,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAkDnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,eAAO,MAAM,IAAI,8BAA8B,CAAC;AAChD,eAAO,MAAM,MAAM,UAAoE,CAAC;AAExF,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAwKxC"}
|