@molecule/app-ide-react 1.14.0 → 1.16.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 +261 -7
- package/dist/components/ChatPanel.d.ts +10 -1
- package/dist/components/ChatPanel.d.ts.map +1 -1
- package/dist/components/ChatPanel.js +114 -13
- package/dist/components/ChatPanel.js.map +1 -1
- package/dist/components/TestsCard.d.ts +27 -3
- package/dist/components/TestsCard.d.ts.map +1 -1
- package/dist/components/TestsCard.js +116 -21
- package/dist/components/TestsCard.js.map +1 -1
- package/dist/components/ToolCallCard.d.ts +7 -1
- package/dist/components/ToolCallCard.d.ts.map +1 -1
- package/dist/components/ToolCallCard.js +133 -94
- package/dist/components/ToolCallCard.js.map +1 -1
- package/dist/components/tests-card-utilities.d.ts +108 -2
- package/dist/components/tests-card-utilities.d.ts.map +1 -1
- package/dist/components/tests-card-utilities.js +205 -6
- package/dist/components/tests-card-utilities.js.map +1 -1
- package/dist/components/tool-call-utilities.d.ts +13 -0
- package/dist/components/tool-call-utilities.d.ts.map +1 -1
- package/dist/components/tool-call-utilities.js +22 -0
- package/dist/components/tool-call-utilities.js.map +1 -1
- package/dist/types.d.ts +60 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
|
@@ -19,6 +19,13 @@
|
|
|
19
19
|
* connected the driver waits and then fails saying so, which the card states
|
|
20
20
|
* next to the end-to-end group rather than leaving it a mystery.
|
|
21
21
|
*
|
|
22
|
+
* A run of end-to-end specs takes minutes, so a running row NAMES the test on
|
|
23
|
+
* screen — the runner's own group and title, from the stream's `case` events —
|
|
24
|
+
* with a live per-file tally beside it, and carries a **Skip** that drops the
|
|
25
|
+
* command the run is on without ending the run. A skipped file's row says
|
|
26
|
+
* `Skipped` and the summary counts it as skipped; nothing in this card lets
|
|
27
|
+
* skipped work read as a pass.
|
|
28
|
+
*
|
|
22
29
|
* This component is PRESENTATIONAL — the list and the in-flight run live in
|
|
23
30
|
* `ChatPanel`, so a run keeps streaming while the overlay is closed and
|
|
24
31
|
* re-opened, and re-running `/test` re-lists without losing it.
|
|
@@ -30,7 +37,7 @@
|
|
|
30
37
|
*/
|
|
31
38
|
import type { JSX } from 'react';
|
|
32
39
|
import type { TestItem, TestSelection } from '../types.js';
|
|
33
|
-
import type { TestsRunState } from './tests-card-utilities.js';
|
|
40
|
+
import type { TestFailure, TestsRunState } from './tests-card-utilities.js';
|
|
34
41
|
/** Discovery status for the tests list — mirrors {@link ScriptsCard}'s. */
|
|
35
42
|
export type TestsStatus = 'loading' | 'ready' | 'error' | 'unavailable';
|
|
36
43
|
/** Props for {@link TestsCard}. */
|
|
@@ -47,8 +54,25 @@ export interface TestsCardProps {
|
|
|
47
54
|
canRun: boolean;
|
|
48
55
|
/** Runs a selection. */
|
|
49
56
|
onRun: (selection: TestSelection) => void;
|
|
50
|
-
/** Stops the run in flight. */
|
|
57
|
+
/** Stops the run in flight — the whole run, every remaining file. */
|
|
51
58
|
onCancel: () => void;
|
|
59
|
+
/**
|
|
60
|
+
* Skips the command the run is on right now, WITHOUT ending it: that file
|
|
61
|
+
* comes back `Skipped` and the run moves to the next one. Omitted by a host
|
|
62
|
+
* that does not serve skipping — then no Skip control is rendered.
|
|
63
|
+
*/
|
|
64
|
+
onSkipCurrent?: () => void;
|
|
65
|
+
/**
|
|
66
|
+
* Hands the failing tests to the agent as ONE chat message — a real turn it
|
|
67
|
+
* answers, exactly like the editor’s “Fix with AI”.
|
|
68
|
+
*/
|
|
69
|
+
onFix: (failures: TestFailure[]) => void;
|
|
70
|
+
/**
|
|
71
|
+
* Why fixing is unavailable (a viewer, a turn already streaming), already
|
|
72
|
+
* translated by the host — `null` when it is available. The card states the
|
|
73
|
+
* reason on the disabled button rather than letting a click do nothing.
|
|
74
|
+
*/
|
|
75
|
+
fixDisabledReason: string | null;
|
|
52
76
|
/** Light theme (drives the same row border + field inset the sibling cards use). */
|
|
53
77
|
isLight: boolean;
|
|
54
78
|
/** Chrome-less inside the command overlay; full card chrome in the timeline. */
|
|
@@ -60,7 +84,7 @@ export interface TestsCardProps {
|
|
|
60
84
|
* @param props - See {@link TestsCardProps}.
|
|
61
85
|
* @returns The rendered tests card.
|
|
62
86
|
*/
|
|
63
|
-
export declare function TestsCard({ tests, status, run, initialQuery, canRun, onRun, onCancel, isLight, embedded, }: TestsCardProps): JSX.Element;
|
|
87
|
+
export declare function TestsCard({ tests, status, run, initialQuery, canRun, onRun, onCancel, onSkipCurrent, onFix, fixDisabledReason, isLight, embedded, }: TestsCardProps): JSX.Element;
|
|
64
88
|
export declare namespace TestsCard {
|
|
65
89
|
var displayName: string;
|
|
66
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestsCard.d.ts","sourceRoot":"","sources":["../../src/components/TestsCard.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"TestsCard.d.ts","sourceRoot":"","sources":["../../src/components/TestsCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,KAAK,EAAiB,GAAG,EAAE,MAAM,OAAO,CAAA;AAM/C,OAAO,KAAK,EAAE,QAAQ,EAAY,aAAa,EAAc,MAAM,aAAa,CAAA;AAEhF,OAAO,KAAK,EAEV,WAAW,EAGX,aAAa,EACd,MAAM,2BAA2B,CAAA;AAiElC,2EAA2E;AAC3E,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,aAAa,CAAA;AAEvE,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,4BAA4B;IAC5B,MAAM,EAAE,WAAW,CAAA;IACnB,iFAAiF;IACjF,GAAG,EAAE,aAAa,CAAA;IAClB,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAA;IACpB,mEAAmE;IACnE,MAAM,EAAE,OAAO,CAAA;IACf,wBAAwB;IACxB,KAAK,EAAE,CAAC,SAAS,EAAE,aAAa,KAAK,IAAI,CAAA;IACzC,qEAAqE;IACrE,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B;;;OAGG;IACH,KAAK,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IACxC;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,oFAAoF;IACpF,OAAO,EAAE,OAAO,CAAA;IAChB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAsCD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,MAAM,EACN,GAAG,EACH,YAAY,EACZ,MAAM,EACN,KAAK,EACL,QAAQ,EACR,aAAa,EACb,KAAK,EACL,iBAAiB,EACjB,OAAO,EACP,QAAQ,GACT,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CAiW9B;yBA9We,SAAS"}
|
|
@@ -3,7 +3,50 @@ import { useEffect, useMemo, useRef, useState } from 'react';
|
|
|
3
3
|
import { t } from '@molecule/app-i18n';
|
|
4
4
|
import { getClassMap } from '@molecule/app-ui';
|
|
5
5
|
import { chatCardStyle } from './chat-card-style.js';
|
|
6
|
-
import { countByKind, filterTests, groupTests, isRowRunning, summarizeResults, testRowLabel, } from './tests-card-utilities.js';
|
|
6
|
+
import { canSkipRun, countByKind, currentRunRowId, failedTests, filterTests, groupTests, isRowRunning, summarizeResults, testCaseLabel, testRowLabel, } from './tests-card-utilities.js';
|
|
7
|
+
/**
|
|
8
|
+
* The card's button vocabulary, which is the command cards' vocabulary (see
|
|
9
|
+
* molecule DESIGN.md → Command cards). Every ACTION is a button that LOOKS
|
|
10
|
+
* like a button — a filled or bordered box, never text on transparent:
|
|
11
|
+
*
|
|
12
|
+
* - {@link PRIMARY_ACTION} — the one headline action (Run all).
|
|
13
|
+
* - {@link SECONDARY_ACTION} — every other action (Run e2e/unit/group, a
|
|
14
|
+
* row Run, Fix with Synthase). The SAME filled box as the headline action:
|
|
15
|
+
* `outline` at `xs` on the card surface is a 60%-alpha hairline that reads
|
|
16
|
+
* as plain text (the first restyle shipped that way and was rejected), and
|
|
17
|
+
* ScriptsCard renders every one of its Run buttons filled.
|
|
18
|
+
* - {@link DESTRUCTIVE_ACTION} — Stop, in the design system's error colour.
|
|
19
|
+
* - {@link QUIET_TOGGLE} — `ghost` is reserved for dismiss/disclosure
|
|
20
|
+
* controls (the Show/Hide output toggle), the only place the sibling cards
|
|
21
|
+
* use it. An action rendered ghost is the bug this vocabulary exists to
|
|
22
|
+
* prevent: it reads as a text link.
|
|
23
|
+
*
|
|
24
|
+
* @param cm - The active ClassMap.
|
|
25
|
+
* @returns The resolved class string.
|
|
26
|
+
*/
|
|
27
|
+
const PRIMARY_ACTION = (cm) => cm.button({ variant: 'solid', color: 'primary', size: 'xs' });
|
|
28
|
+
/**
|
|
29
|
+
* A secondary action — the same filled `xs` button ScriptsCard uses for every
|
|
30
|
+
* action, so a row of Run buttons reads as a row of buttons.
|
|
31
|
+
*
|
|
32
|
+
* @param cm - The active ClassMap.
|
|
33
|
+
* @returns The resolved class string.
|
|
34
|
+
*/
|
|
35
|
+
const SECONDARY_ACTION = (cm) => cm.button({ variant: 'solid', color: 'primary', size: 'xs' });
|
|
36
|
+
/**
|
|
37
|
+
* The destructive action (Stop), in the design system's error colour.
|
|
38
|
+
*
|
|
39
|
+
* @param cm - The active ClassMap.
|
|
40
|
+
* @returns The resolved class string.
|
|
41
|
+
*/
|
|
42
|
+
const DESTRUCTIVE_ACTION = (cm) => cm.button({ variant: 'solid', color: 'error', size: 'xs' });
|
|
43
|
+
/**
|
|
44
|
+
* A disclosure toggle — the one place `ghost` belongs.
|
|
45
|
+
*
|
|
46
|
+
* @param cm - The active ClassMap.
|
|
47
|
+
* @returns The resolved class string.
|
|
48
|
+
*/
|
|
49
|
+
const QUIET_TOGGLE = (cm) => cm.button({ variant: 'ghost', size: 'xs' });
|
|
7
50
|
/**
|
|
8
51
|
* Human label for a kind.
|
|
9
52
|
*
|
|
@@ -45,12 +88,16 @@ function statusLabel(status) {
|
|
|
45
88
|
* @param props - See {@link TestsCardProps}.
|
|
46
89
|
* @returns The rendered tests card.
|
|
47
90
|
*/
|
|
48
|
-
export function TestsCard({ tests, status, run, initialQuery, canRun, onRun, onCancel, isLight, embedded, }) {
|
|
91
|
+
export function TestsCard({ tests, status, run, initialQuery, canRun, onRun, onCancel, onSkipCurrent, onFix, fixDisabledReason, isLight, embedded, }) {
|
|
49
92
|
const cm = getClassMap();
|
|
50
93
|
const [query, setQuery] = useState(initialQuery);
|
|
94
|
+
// The run output starts COLLAPSED. ScriptsCard auto-expands nothing while a
|
|
95
|
+
// script runs, so neither does this; the status pills carry the state and the
|
|
96
|
+
// output is one click away when someone wants it.
|
|
97
|
+
const [showOutput, setShowOutput] = useState(false);
|
|
51
98
|
const outputRef = useRef(null);
|
|
52
99
|
// Keep the live output pinned to the newest line unless the reader scrolled up
|
|
53
|
-
// inside the block themselves.
|
|
100
|
+
// inside the block themselves. No-ops while it is collapsed (no element).
|
|
54
101
|
useEffect(() => {
|
|
55
102
|
const el = outputRef.current;
|
|
56
103
|
if (!el)
|
|
@@ -58,11 +105,12 @@ export function TestsCard({ tests, status, run, initialQuery, canRun, onRun, onC
|
|
|
58
105
|
if (el.scrollHeight - el.scrollTop - el.clientHeight > 40)
|
|
59
106
|
return;
|
|
60
107
|
el.scrollTop = el.scrollHeight;
|
|
61
|
-
}, [run.output]);
|
|
108
|
+
}, [run.output, showOutput]);
|
|
62
109
|
const filtered = useMemo(() => filterTests(tests, query), [tests, query]);
|
|
63
110
|
const groups = useMemo(() => groupTests(filtered), [filtered]);
|
|
64
111
|
const counts = useMemo(() => countByKind(filtered), [filtered]);
|
|
65
112
|
const summary = useMemo(() => summarizeResults(filtered, run.results), [filtered, run.results]);
|
|
113
|
+
const failures = useMemo(() => failedTests(filtered, run.results), [filtered, run.results]);
|
|
66
114
|
const rowBorder = isLight ? 'rgba(0,0,0,0.08)' : 'rgba(255,255,255,0.08)';
|
|
67
115
|
// The same neutral inset the sibling cards give their fields, so the search
|
|
68
116
|
// box READS as a field on the clean overlay surface.
|
|
@@ -86,6 +134,16 @@ export function TestsCard({ tests, status, run, initialQuery, canRun, onRun, onC
|
|
|
86
134
|
})
|
|
87
135
|
: null;
|
|
88
136
|
const runnable = canRun && status === 'ready' && !run.running;
|
|
137
|
+
const fixable = fixDisabledReason === null;
|
|
138
|
+
// The row the Skip acts on. The control exists only while the run is on an
|
|
139
|
+
// identifiable row AND the host serves skipping; a viewer still SEES it, with
|
|
140
|
+
// the reason on it, rather than watching it vanish without explanation.
|
|
141
|
+
const skipRowId = onSkipCurrent && canSkipRun(run) ? currentRunRowId(run) : null;
|
|
142
|
+
const skipDisabledReason = !canRun
|
|
143
|
+
? t('ide.tests.viewerCannotSkip', undefined, {
|
|
144
|
+
defaultValue: 'Only editors can skip this project’s tests.',
|
|
145
|
+
})
|
|
146
|
+
: null;
|
|
89
147
|
return (_jsxs("div", { "data-mol-id": "tests-card", className: cm.textSize('xs'), style: embedded ? { padding: '10px 12px' } : { ...chatCardStyle(), marginBottom: 16 }, children: [_jsxs("div", { style: {
|
|
90
148
|
display: 'flex',
|
|
91
149
|
alignItems: 'center',
|
|
@@ -93,7 +151,11 @@ export function TestsCard({ tests, status, run, initialQuery, canRun, onRun, onC
|
|
|
93
151
|
gap: 8,
|
|
94
152
|
marginBottom: 6,
|
|
95
153
|
flexWrap: 'wrap',
|
|
96
|
-
}, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 8, flexShrink: 0 }, children: [!embedded && (_jsx("div", { className: cm.cn(cm.fontWeight('medium'), cm.textSize('sm')), style: { flexShrink: 0 }, children: t('ide.tests.heading', undefined, { defaultValue: 'Tests' }) })), run.running ? (_jsxs("span", { "data-mol-id": "tests-card-running", className: cm.cn(cm.textMuted, cm.textSize('xs')), style: { display: 'inline-flex', alignItems: 'center', gap: 4 }, children: [_jsx("span", { className: cm.spinner({ size: 'xs' }), "aria-hidden": "true" }), t('ide.tests.running', undefined, { defaultValue: 'Running…' })] })) : (summary.reported > 0 && (_jsxs("span", { "data-mol-id": "tests-card-summary", className: cm.textSize('xs'), style: { display: 'inline-flex', alignItems: 'center', gap: 6 }, children: [summary.passed > 0 && (_jsx("span", { className: cm.textSuccess, children: t('ide.tests.passedCount', { count: summary.passed }, { defaultValue: '{{count}} passed' }) })), summary.failed > 0 && (_jsx("span", { className: cm.textError, children: t('ide.tests.failedCount', { count: summary.failed }, { defaultValue: '{{count}} failed' }) }))] })))] }), _jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 6, flexWrap: 'wrap' }, children: [counts.e2e > 0 && counts.unit > 0 && (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", "data-mol-id": "tests-card-run-e2e", onClick: () => onRun({ ids: idsOfKind(filtered, 'e2e') }), disabled: !runnable, title: disabledReason ?? undefined, className: cm.cn(cm
|
|
154
|
+
}, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 8, flexShrink: 0 }, children: [!embedded && (_jsx("div", { className: cm.cn(cm.fontWeight('medium'), cm.textSize('sm')), style: { flexShrink: 0 }, children: t('ide.tests.heading', undefined, { defaultValue: 'Tests' }) })), run.running ? (_jsxs("span", { "data-mol-id": "tests-card-running", className: cm.cn(cm.textMuted, cm.textSize('xs')), style: { display: 'inline-flex', alignItems: 'center', gap: 4 }, children: [_jsx("span", { className: cm.spinner({ size: 'xs' }), "aria-hidden": "true" }), t('ide.tests.running', undefined, { defaultValue: 'Running…' })] })) : (summary.reported > 0 && (_jsxs("span", { "data-mol-id": "tests-card-summary", className: cm.textSize('xs'), style: { display: 'inline-flex', alignItems: 'center', gap: 6 }, children: [summary.passed > 0 && (_jsx("span", { className: cm.textSuccess, children: t('ide.tests.passedCount', { count: summary.passed }, { defaultValue: '{{count}} passed' }) })), summary.failed > 0 && (_jsx("span", { className: cm.textError, children: t('ide.tests.failedCount', { count: summary.failed }, { defaultValue: '{{count}} failed' }) })), summary.skipped > 0 && (_jsx("span", { "data-mol-id": "tests-card-summary-skipped", className: cm.textMuted, children: t('ide.tests.skippedCount', { count: summary.skipped }, { defaultValue: '{{count}} skipped' }) }))] })))] }), _jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 6, flexWrap: 'wrap' }, children: [counts.e2e > 0 && counts.unit > 0 && (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", "data-mol-id": "tests-card-run-e2e", onClick: () => onRun({ ids: idsOfKind(filtered, 'e2e') }), disabled: !runnable, title: disabledReason ?? undefined, className: cm.cn(SECONDARY_ACTION(cm)), style: { flexShrink: 0 }, children: t('ide.tests.runE2e', undefined, { defaultValue: 'Run e2e' }) }), _jsx("button", { type: "button", "data-mol-id": "tests-card-run-unit", onClick: () => onRun({ ids: idsOfKind(filtered, 'unit') }), disabled: !runnable, title: disabledReason ?? undefined, className: cm.cn(SECONDARY_ACTION(cm)), style: { flexShrink: 0 }, children: t('ide.tests.runUnit', undefined, { defaultValue: 'Run unit' }) })] })), !run.running && failures.length > 0 && (_jsx("button", { type: "button", "data-mol-id": "tests-card-fix-all", onClick: () => onFix(failures), disabled: !fixable, title: fixDisabledReason ?? undefined, className: cm.cn(SECONDARY_ACTION(cm)), style: { flexShrink: 0 }, children: failures.length === 1
|
|
155
|
+
? t('ide.tests.fixWithSynthase', undefined, {
|
|
156
|
+
defaultValue: 'Fix with Synthase',
|
|
157
|
+
})
|
|
158
|
+
: t('ide.tests.fixFailures', { count: failures.length }, { defaultValue: 'Fix {{count}} failures' }) })), run.running ? (_jsx("button", { type: "button", "data-mol-id": "tests-card-cancel", onClick: onCancel, className: cm.cn(DESTRUCTIVE_ACTION(cm)), style: { flexShrink: 0 }, children: t('ide.tests.stop', undefined, { defaultValue: 'Stop' }) })) : (filtered.length > 0 && (_jsx("button", { type: "button", "data-mol-id": "tests-card-run-all", onClick: () => onRun({ ids: filtered.map((test) => test.id) }), disabled: !runnable, title: disabledReason ?? undefined, className: cm.cn(PRIMARY_ACTION(cm)), style: { flexShrink: 0 }, children: t('ide.tests.runAll', undefined, { defaultValue: 'Run all' }) })))] })] }), _jsx("input", { value: query, "data-mol-id": "tests-card-search", onChange: (e) => setQuery(e.target.value), placeholder: t('ide.tests.searchPlaceholder', undefined, {
|
|
97
159
|
defaultValue: 'Filter tests…',
|
|
98
160
|
}), className: cm.textSize('xs'), style: { ...fieldStyle, marginBottom: 6 } }), disabledReason && status !== 'loading' && (_jsx("div", { "data-mol-id": "tests-card-disabled-reason", className: cm.textMuted, children: disabledReason })), status === 'loading' && (_jsx("div", { className: cm.textMuted, style: { padding: '6px 0' }, children: t('ide.tests.loading', undefined, { defaultValue: 'Loading tests…' }) })), status === 'unavailable' && (_jsx("div", { "data-mol-id": "tests-card-unavailable", className: cm.textMuted, style: { padding: '6px 0' }, children: t('ide.tests.waitingForSandbox', undefined, {
|
|
99
161
|
defaultValue: 'Start the project to see its tests.',
|
|
@@ -106,17 +168,21 @@ export function TestsCard({ tests, status, run, initialQuery, canRun, onRun, onC
|
|
|
106
168
|
: t('ide.tests.empty', undefined, {
|
|
107
169
|
defaultValue: 'No tests in this project yet.',
|
|
108
170
|
}) })), status === 'ready' &&
|
|
109
|
-
groups.map((group) => (_jsx(TestsCardGroup, { group: group, run: run, runnable: runnable, disabledReason: disabledReason, rowBorder: rowBorder, onRun: onRun }, `${group.kind}:${group.workspace}`))), run.output.length > 0 && (
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
171
|
+
groups.map((group) => (_jsx(TestsCardGroup, { group: group, run: run, runnable: runnable, disabledReason: disabledReason, rowBorder: rowBorder, onRun: onRun, onFix: onFix, fixable: fixable, fixDisabledReason: fixDisabledReason, skipRowId: skipRowId, skipPending: run.skipPending, skipDisabledReason: skipDisabledReason, onSkipCurrent: onSkipCurrent }, `${group.kind}:${group.workspace}`))), run.output.length > 0 && (_jsxs("div", { "data-mol-id": "tests-card-output-area", style: { marginTop: 6 }, children: [_jsx("button", { type: "button", "data-mol-id": "tests-card-output-toggle", "aria-expanded": showOutput, onClick: () => setShowOutput((v) => !v), className: cm.cn(QUIET_TOGGLE(cm)), style: { flexShrink: 0 }, children: showOutput
|
|
172
|
+
? t('ide.tests.hideOutput', undefined, { defaultValue: 'Hide output' })
|
|
173
|
+
: t('ide.tests.showOutput', undefined, { defaultValue: 'Show output' }) }), showOutput && (_jsx("pre", { ref: outputRef, "data-mol-id": "tests-card-output", className: cm.textSize('xs'), style: {
|
|
174
|
+
margin: 0,
|
|
175
|
+
padding: '6px 8px',
|
|
176
|
+
borderRadius: 4,
|
|
177
|
+
border: `1px solid ${rowBorder}`,
|
|
178
|
+
whiteSpace: 'pre-wrap',
|
|
179
|
+
wordBreak: 'break-word',
|
|
180
|
+
maxHeight: 200,
|
|
181
|
+
overflow: 'auto',
|
|
182
|
+
fontFamily: 'var(--mol-font-mono, monospace)',
|
|
183
|
+
}, children: run.output.join('\n') }))] })), run.error && (_jsx("div", { "data-mol-id": "tests-card-run-error", className: cm.textError, style: { marginTop: 6 }, children: run.error })), !run.running && run.outcome === 'cancelled' && !run.error && (_jsx("div", { "data-mol-id": "tests-card-cancelled", className: cm.textMuted, style: { marginTop: 6 }, children: t('ide.tests.cancelled', undefined, { defaultValue: 'Run stopped.' }) })), !run.running && run.outcome === 'skipped-by-user' && !run.error && (_jsx("div", { "data-mol-id": "tests-card-skipped", className: cm.textMuted, style: { marginTop: 6 }, children: t('ide.tests.skippedByUser', undefined, {
|
|
184
|
+
defaultValue: 'Run finished. The tests you skipped did not run.',
|
|
185
|
+
}) }))] }));
|
|
120
186
|
}
|
|
121
187
|
TestsCard.displayName = 'TestsCard';
|
|
122
188
|
/**
|
|
@@ -136,7 +202,7 @@ function idsOfKind(tests, kind) {
|
|
|
136
202
|
* @param props - See {@link TestsCardGroupProps}.
|
|
137
203
|
* @returns The rendered group.
|
|
138
204
|
*/
|
|
139
|
-
function TestsCardGroup({ group, run, runnable, disabledReason, rowBorder, onRun, }) {
|
|
205
|
+
function TestsCardGroup({ group, run, runnable, disabledReason, rowBorder, onRun, onFix, fixable, fixDisabledReason, skipRowId, skipPending, skipDisabledReason, onSkipCurrent, }) {
|
|
140
206
|
const cm = getClassMap();
|
|
141
207
|
const groupId = `${group.kind}-${group.workspace}`;
|
|
142
208
|
return (_jsxs("div", { "data-mol-id": `tests-card-group-${groupId}`, className: cm.borderT, style: { padding: '6px 0', borderColor: rowBorder }, children: [_jsxs("div", { style: {
|
|
@@ -145,20 +211,30 @@ function TestsCardGroup({ group, run, runnable, disabledReason, rowBorder, onRun
|
|
|
145
211
|
justifyContent: 'space-between',
|
|
146
212
|
gap: 8,
|
|
147
213
|
flexWrap: 'wrap',
|
|
148
|
-
}, children: [_jsx("div", { className: cm.cn(cm.fontWeight('medium')), style: { minWidth: 0 }, children: groupHeading(group) }), _jsx("button", { type: "button", "data-mol-id": `tests-card-run-group-${groupId}`, onClick: () => onRun({ ids: group.items.map((item) => item.id) }), disabled: !runnable, title: disabledReason ?? undefined, className: cm.cn(cm
|
|
214
|
+
}, children: [_jsx("div", { className: cm.cn(cm.fontWeight('medium')), style: { minWidth: 0 }, children: groupHeading(group) }), _jsx("button", { type: "button", "data-mol-id": `tests-card-run-group-${groupId}`, onClick: () => onRun({ ids: group.items.map((item) => item.id) }), disabled: !runnable, title: disabledReason ?? undefined, className: cm.cn(SECONDARY_ACTION(cm)), style: { flexShrink: 0 }, children: t('ide.tests.runGroup', undefined, { defaultValue: 'Run group' }) })] }), group.kind === 'e2e' && (_jsx("div", { "data-mol-id": "tests-card-e2e-hint", className: cm.textMuted, style: { lineHeight: 1.4 }, children: t('ide.tests.e2eHint', undefined, {
|
|
149
215
|
defaultValue: 'These run against the live preview, so keep the preview open.',
|
|
150
|
-
}) })), group.items.map((item) => (_jsx(TestsCardRow, { item: item, result: run.results[item.id], running: isRowRunning(run, item.id), runnable: runnable, disabledReason: disabledReason, rowBorder: rowBorder, onRun: onRun }, item.id)))] }));
|
|
216
|
+
}) })), group.items.map((item) => (_jsx(TestsCardRow, { item: item, result: run.results[item.id], running: isRowRunning(run, item.id), progress: run.cases[item.id], runnable: runnable, disabledReason: disabledReason, rowBorder: rowBorder, onRun: onRun, onFix: onFix, fixable: fixable, fixDisabledReason: fixDisabledReason, skippable: skipRowId === item.id, skipPending: skipPending, skipDisabledReason: skipDisabledReason, onSkipCurrent: onSkipCurrent }, item.id)))] }));
|
|
151
217
|
}
|
|
152
218
|
/**
|
|
153
219
|
* One test file: its label, its last status pill, a Run button, and — when it
|
|
154
220
|
* FAILED — the runner's output kept underneath, the same inline output
|
|
155
221
|
* ScriptsCard shows for a script that exited non-zero.
|
|
156
222
|
*
|
|
223
|
+
* While the file is RUNNING it also names the test on screen (its group and
|
|
224
|
+
* title) with a live tally, so a five-minute spec run is something to read
|
|
225
|
+
* rather than a spinner to sit through; that detail collapses the moment the
|
|
226
|
+
* file reports its verdict.
|
|
227
|
+
*
|
|
157
228
|
* @param props - See {@link TestsCardRowProps}.
|
|
158
229
|
* @returns The rendered row.
|
|
159
230
|
*/
|
|
160
|
-
function TestsCardRow({ item, result, running, runnable, disabledReason, rowBorder, onRun, }) {
|
|
231
|
+
function TestsCardRow({ item, result, running, progress, runnable, disabledReason, rowBorder, onRun, onFix, fixable, fixDisabledReason, skippable, skipPending, skipDisabledReason, onSkipCurrent, }) {
|
|
161
232
|
const cm = getClassMap();
|
|
233
|
+
// A failure's output starts COLLAPSED too — the row's status pill says what
|
|
234
|
+
// happened; the detail is one click away for whoever wants it.
|
|
235
|
+
const [showFailure, setShowFailure] = useState(false);
|
|
236
|
+
const caseLabel = testCaseLabel(progress?.current);
|
|
237
|
+
const caseTally = (progress?.passed ?? 0) + (progress?.failed ?? 0) + (progress?.skipped ?? 0);
|
|
162
238
|
return (_jsxs("div", { "data-mol-id": `tests-card-row-${item.id}`, style: { padding: '4px 0' }, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 8, flexWrap: 'wrap' }, children: [_jsx("div", { className: cm.textMuted, title: item.file, style: {
|
|
163
239
|
flex: '1 1 140px',
|
|
164
240
|
minWidth: 0,
|
|
@@ -170,7 +246,26 @@ function TestsCardRow({ item, result, running, runnable, disabledReason, rowBord
|
|
|
170
246
|
? cm.textSuccess
|
|
171
247
|
: result.status === 'failed'
|
|
172
248
|
? cm.textError
|
|
173
|
-
: cm.textMuted, style: { flexShrink: 0 }, children: statusLabel(result.status) }))), _jsx("button", { type: "button", "data-mol-id": `tests-card-
|
|
249
|
+
: cm.textMuted, style: { flexShrink: 0 }, children: statusLabel(result.status) }))), skippable && (_jsx("button", { type: "button", "data-mol-id": `tests-card-skip-${item.id}`, onClick: () => onSkipCurrent?.(), disabled: skipDisabledReason !== null || skipPending, title: skipDisabledReason ?? undefined, className: cm.cn(SECONDARY_ACTION(cm)), style: { flexShrink: 0 }, children: skipPending
|
|
250
|
+
? t('ide.tests.skipping', undefined, { defaultValue: 'Skipping…' })
|
|
251
|
+
: t('ide.tests.skip', undefined, { defaultValue: 'Skip' }) })), _jsx("button", { type: "button", "data-mol-id": `tests-card-run-${item.id}`, onClick: () => onRun({ ids: [item.id] }), disabled: !runnable, title: disabledReason ?? undefined, className: cm.cn(SECONDARY_ACTION(cm)), style: { flexShrink: 0 }, children: t('ide.tests.run', undefined, { defaultValue: 'Run' }) })] }), running && (caseLabel !== '' || caseTally > 0) && (_jsxs("div", { "data-mol-id": `tests-card-case-${item.id}`, className: cm.textMuted, style: {
|
|
252
|
+
display: 'flex',
|
|
253
|
+
alignItems: 'center',
|
|
254
|
+
gap: 6,
|
|
255
|
+
flexWrap: 'wrap',
|
|
256
|
+
minWidth: 0,
|
|
257
|
+
lineHeight: 1.4,
|
|
258
|
+
}, children: [caseLabel !== '' && (_jsx("span", { "data-mol-id": `tests-card-case-title-${item.id}`, title: caseLabel, style: {
|
|
259
|
+
flex: '1 1 140px',
|
|
260
|
+
minWidth: 0,
|
|
261
|
+
overflow: 'hidden',
|
|
262
|
+
textOverflow: 'ellipsis',
|
|
263
|
+
whiteSpace: 'nowrap',
|
|
264
|
+
}, children: caseLabel })), caseTally > 0 && (_jsxs("span", { "data-mol-id": `tests-card-case-tally-${item.id}`, style: { display: 'inline-flex', alignItems: 'center', gap: 6, flexShrink: 0 }, children: [(progress?.passed ?? 0) > 0 && (_jsx("span", { className: cm.textSuccess, children: t('ide.tests.passedCount', { count: progress?.passed ?? 0 }, { defaultValue: '{{count}} passed' }) })), (progress?.failed ?? 0) > 0 && (_jsx("span", { className: cm.textError, children: t('ide.tests.failedCount', { count: progress?.failed ?? 0 }, { defaultValue: '{{count}} failed' }) })), (progress?.skipped ?? 0) > 0 && (_jsx("span", { children: t('ide.tests.skippedCount', { count: progress?.skipped ?? 0 }, { defaultValue: '{{count}} skipped' }) }))] }))] })), result?.status === 'failed' && (_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 6, flexWrap: 'wrap' }, children: [result.output && (_jsx("button", { type: "button", "data-mol-id": `tests-card-failure-toggle-${item.id}`, "aria-expanded": showFailure, onClick: () => setShowFailure((v) => !v), className: cm.cn(QUIET_TOGGLE(cm)), style: { flexShrink: 0 }, children: showFailure
|
|
265
|
+
? t('ide.tests.hideOutput', undefined, { defaultValue: 'Hide output' })
|
|
266
|
+
: t('ide.tests.showOutput', undefined, { defaultValue: 'Show output' }) })), _jsx("button", { type: "button", "data-mol-id": `tests-card-fix-${item.id}`, onClick: () => onFix([{ item, output: result.output }]), disabled: !fixable, title: fixDisabledReason ?? undefined, className: cm.cn(SECONDARY_ACTION(cm)), style: { flexShrink: 0 }, children: t('ide.tests.fixWithSynthase', undefined, {
|
|
267
|
+
defaultValue: 'Fix with Synthase',
|
|
268
|
+
}) })] })), result?.status === 'failed' && result.output && showFailure && (_jsx("pre", { "data-mol-id": `tests-card-failure-${item.id}`, className: cm.textSize('xs'), style: {
|
|
174
269
|
margin: '4px 0 0',
|
|
175
270
|
padding: '6px 8px',
|
|
176
271
|
borderRadius: 4,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestsCard.js","sourceRoot":"","sources":["../../src/components/TestsCard.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TestsCard.js","sourceRoot":"","sources":["../../src/components/TestsCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,12 @@
|
|
|
5
5
|
* one-line result summary. Expands on click to reveal formatted IN / OUT
|
|
6
6
|
* sections: diffs for file edits, terminal output for commands, etc.
|
|
7
7
|
*
|
|
8
|
+
* A call that is still RUNNING carries a **Skip** (when the host serves one):
|
|
9
|
+
* it drops that one tool call without ending the turn, so a person does not
|
|
10
|
+
* have to sit through a command they already know they do not want. The result
|
|
11
|
+
* comes back as `skipped_by_user`, and this card renders it as **Skipped** with
|
|
12
|
+
* a gray dot — never as a success, never as a failure.
|
|
13
|
+
*
|
|
8
14
|
* @module
|
|
9
15
|
*/
|
|
10
16
|
import type { JSX } from 'react';
|
|
@@ -14,5 +20,5 @@ import type { ToolCallCardProps } from '../types.js';
|
|
|
14
20
|
* @param props - Component props.
|
|
15
21
|
* @returns The rendered tool call card element.
|
|
16
22
|
*/
|
|
17
|
-
export declare const ToolCallCard: import("react").MemoExoticComponent<({ id, name, input, output, status, fileDiff, isUndone: isUndoneProp, onUndoToggle, onFileOpen, onFileDoubleClick, onFileDiff, onFileRevert, onAskUserResponse, className, }: ToolCallCardProps) => JSX.Element | null>;
|
|
23
|
+
export declare const ToolCallCard: import("react").MemoExoticComponent<({ id, name, input, output, status, fileDiff, isUndone: isUndoneProp, onUndoToggle, onFileOpen, onFileDoubleClick, onFileDiff, onFileRevert, onAskUserResponse, onSkip, skipDisabledReason, className, }: ToolCallCardProps) => JSX.Element | null>;
|
|
18
24
|
//# sourceMappingURL=ToolCallCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolCallCard.d.ts","sourceRoot":"","sources":["../../src/components/ToolCallCard.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ToolCallCard.d.ts","sourceRoot":"","sources":["../../src/components/ToolCallCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAa,MAAM,OAAO,CAAA;AAQ3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AA2mBpD;;;;GAIG;AACH,eAAO,MAAM,YAAY,gPAiBtB,iBAAiB,KAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAkzBvC,CAAA"}
|