@vitest-agent/ui 5.0.6 → 5.0.7

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.
Files changed (41) hide show
  1. package/counts.js +1 -2
  2. package/dispatcher/cells/single-file-fail.js +1 -2
  3. package/dispatcher/cells/single-file-pass.js +1 -2
  4. package/dispatcher/cells/single-file-threshold.js +1 -2
  5. package/dispatcher/cells/single-project-fail.js +1 -2
  6. package/dispatcher/cells/single-project-pass.js +1 -2
  7. package/dispatcher/cells/single-project-threshold.js +1 -2
  8. package/dispatcher/cells/single-test-fail.js +1 -2
  9. package/dispatcher/cells/single-test-pass.js +1 -2
  10. package/dispatcher/cells/single-test-threshold.js +1 -2
  11. package/dispatcher/cells/workspace-fail.js +1 -2
  12. package/dispatcher/cells/workspace-pass.js +1 -2
  13. package/dispatcher/cells/workspace-threshold.js +1 -2
  14. package/dispatcher/classify.js +1 -2
  15. package/dispatcher/dispatch.js +1 -2
  16. package/dispatcher/footer.js +1 -2
  17. package/dispatcher/helpers.js +1 -2
  18. package/format-duration.js +1 -2
  19. package/index.d.ts +0 -35
  20. package/index.js +2 -3
  21. package/ink/CountColumns.js +1 -2
  22. package/ink/CoverageBlock.js +1 -2
  23. package/ink/FailureSection.js +1 -2
  24. package/ink/FailuresSection.js +1 -2
  25. package/ink/ModuleHeader.js +1 -2
  26. package/ink/ProjectRow.js +1 -2
  27. package/ink/StatusIcon.js +1 -2
  28. package/ink/StreamApp.js +1 -2
  29. package/ink/SuggestedActions.js +1 -2
  30. package/ink/TagColumns.js +1 -2
  31. package/ink/TestRow.js +1 -2
  32. package/ink/TrendLine.js +1 -2
  33. package/ink/dispatch-ink.js +1 -2
  34. package/ink/ink-helpers.js +1 -2
  35. package/ink.d.ts +0 -32
  36. package/package.json +7 -7
  37. package/reducer.js +1 -2
  38. package/render-agent.js +1 -2
  39. package/spinner.js +1 -2
  40. package/synthesize.js +1 -2
  41. package/theme.js +1 -2
package/counts.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { VitestAgentStatus } from "./theme.js";
2
2
  import { Doc, Render } from "@effected/cli";
3
3
 
4
- //#region src/counts.ts
4
+ // src/counts.ts
5
5
  /** The test counters a totals line folds into its `n/total`. */
6
6
  const TEST_KEYS = /* @__PURE__ */ new Set([
7
7
  "pass",
@@ -60,5 +60,4 @@ const formatTotalsLine = (input) => {
60
60
  })], AGENT_CONTEXT);
61
61
  };
62
62
 
63
- //#endregion
64
63
  export { formatTotalsLine };
@@ -2,7 +2,7 @@ import { buildFooter } from "../footer.js";
2
2
  import { formatDisplayDuration } from "../../format-duration.js";
3
3
  import { formatFailure, soleModulePath } from "../helpers.js";
4
4
 
5
- //#region src/dispatcher/cells/single-file-fail.ts
5
+ // src/dispatcher/cells/single-file-fail.ts
6
6
  const DEFAULT_WIDTH = 80;
7
7
  const renderAgent = (inputs) => {
8
8
  const modulePath = soleModulePath(inputs.state);
@@ -21,5 +21,4 @@ const renderAgent = (inputs) => {
21
21
  };
22
22
  const renderSingleFileFail = { agent: renderAgent };
23
23
 
24
- //#endregion
25
24
  export { renderSingleFileFail };
@@ -3,7 +3,7 @@ import { formatDisplayDuration } from "../../format-duration.js";
3
3
  import { soleModulePath } from "../helpers.js";
4
4
  import { Fmt } from "@effected/cli";
5
5
 
6
- //#region src/dispatcher/cells/single-file-pass.ts
6
+ // src/dispatcher/cells/single-file-pass.ts
7
7
  const renderAgent = (inputs) => {
8
8
  const modulePath = soleModulePath(inputs.state);
9
9
  if (modulePath === void 0) return "";
@@ -12,5 +12,4 @@ const renderAgent = (inputs) => {
12
12
  };
13
13
  const renderSingleFilePass = { agent: renderAgent };
14
14
 
15
- //#endregion
16
15
  export { renderSingleFilePass };
@@ -3,7 +3,7 @@ import { formatDisplayDuration } from "../../format-duration.js";
3
3
  import { formatCoverageSummaryLines, soleModulePath } from "../helpers.js";
4
4
  import { Fmt } from "@effected/cli";
5
5
 
6
- //#region src/dispatcher/cells/single-file-threshold.ts
6
+ // src/dispatcher/cells/single-file-threshold.ts
7
7
  const renderAgent = (inputs) => {
8
8
  const modulePath = soleModulePath(inputs.state);
9
9
  if (modulePath === void 0) return "";
@@ -14,5 +14,4 @@ const renderAgent = (inputs) => {
14
14
  };
15
15
  const renderSingleFileThreshold = { agent: renderAgent };
16
16
 
17
- //#endregion
18
17
  export { renderSingleFileThreshold };
@@ -1,7 +1,7 @@
1
1
  import { buildFooter } from "../footer.js";
2
2
  import { formatFailure, formatTotals } from "../helpers.js";
3
3
 
4
- //#region src/dispatcher/cells/single-project-fail.ts
4
+ // src/dispatcher/cells/single-project-fail.ts
5
5
  const DEFAULT_WIDTH = 80;
6
6
  const renderAgent = (inputs) => {
7
7
  const sections = [[formatTotals(inputs.state)]];
@@ -26,5 +26,4 @@ const renderAgent = (inputs) => {
26
26
  };
27
27
  const renderSingleProjectFail = { agent: renderAgent };
28
28
 
29
- //#endregion
30
29
  export { renderSingleProjectFail };
@@ -2,7 +2,7 @@ import { buildFooter } from "../footer.js";
2
2
  import { formatTotals } from "../helpers.js";
3
3
  import { Fmt } from "@effected/cli";
4
4
 
5
- //#region src/dispatcher/cells/single-project-pass.ts
5
+ // src/dispatcher/cells/single-project-pass.ts
6
6
  const renderAgent = (inputs) => {
7
7
  const { passCount, failCount, skipCount, timeoutCount } = inputs.state.totals;
8
8
  if (passCount + failCount + skipCount + timeoutCount === 0) return `${[formatTotals(inputs.state), "0 tests collected. A zero-test run usually means a wrong working directory, a filter that matched nothing, or a load-time error — verify before trusting it."].join("\n\n")}\n${buildFooter(inputs)}`;
@@ -11,5 +11,4 @@ const renderAgent = (inputs) => {
11
11
  };
12
12
  const renderSingleProjectPass = { agent: renderAgent };
13
13
 
14
- //#endregion
15
14
  export { renderSingleProjectPass };
@@ -1,7 +1,7 @@
1
1
  import { buildFooter } from "../footer.js";
2
2
  import { formatBelowTargetTable, formatCoverageSummaryLines, formatTotals, formatTrendLine } from "../helpers.js";
3
3
 
4
- //#region src/dispatcher/cells/single-project-threshold.ts
4
+ // src/dispatcher/cells/single-project-threshold.ts
5
5
  const BELOW_TARGET_LIMIT = 5;
6
6
  const renderAgent = (inputs) => {
7
7
  const sections = [[formatTotals(inputs.state)]];
@@ -17,5 +17,4 @@ const renderAgent = (inputs) => {
17
17
  };
18
18
  const renderSingleProjectThreshold = { agent: renderAgent };
19
19
 
20
- //#endregion
21
20
  export { renderSingleProjectThreshold };
@@ -3,7 +3,7 @@ import { statusGlyph } from "../../theme.js";
3
3
  import { formatDisplayDuration } from "../../format-duration.js";
4
4
  import { formatFailure, formatTestName, soleTest } from "../helpers.js";
5
5
 
6
- //#region src/dispatcher/cells/single-test-fail.ts
6
+ // src/dispatcher/cells/single-test-fail.ts
7
7
  const DEFAULT_WIDTH = 80;
8
8
  const renderAgent = (inputs) => {
9
9
  const test = soleTest(inputs.state);
@@ -15,5 +15,4 @@ const renderAgent = (inputs) => {
15
15
  };
16
16
  const renderSingleTestFail = { agent: renderAgent };
17
17
 
18
- //#endregion
19
18
  export { renderSingleTestFail };
@@ -3,7 +3,7 @@ import { statusGlyph } from "../../theme.js";
3
3
  import { formatDisplayDuration } from "../../format-duration.js";
4
4
  import { formatTestName, soleTest } from "../helpers.js";
5
5
 
6
- //#region src/dispatcher/cells/single-test-pass.ts
6
+ // src/dispatcher/cells/single-test-pass.ts
7
7
  const renderAgent = (inputs) => {
8
8
  const test = soleTest(inputs.state);
9
9
  if (test === void 0) return "";
@@ -12,5 +12,4 @@ const renderAgent = (inputs) => {
12
12
  };
13
13
  const renderSingleTestPass = { agent: renderAgent };
14
14
 
15
- //#endregion
16
15
  export { renderSingleTestPass };
@@ -1,4 +1,4 @@
1
- //#region src/dispatcher/cells/single-test-threshold.ts
1
+ // src/dispatcher/cells/single-test-threshold.ts
2
2
  /**
3
3
  * No-op cell. The `single-test × threshold-violation` combination has
4
4
  * no observable difference from `single-test × all-pass` because a
@@ -8,5 +8,4 @@
8
8
  */
9
9
  const renderSingleTestThreshold = { agent: () => "" };
10
10
 
11
- //#endregion
12
11
  export { renderSingleTestThreshold };
@@ -1,7 +1,7 @@
1
1
  import { buildFooter } from "../footer.js";
2
2
  import { formatFailure, formatProjectsTable, formatTrendLine, formatWorkspaceTotal } from "../helpers.js";
3
3
 
4
- //#region src/dispatcher/cells/workspace-fail.ts
4
+ // src/dispatcher/cells/workspace-fail.ts
5
5
  const DEFAULT_WIDTH = 80;
6
6
  const renderAgent = (inputs) => {
7
7
  const sections = [];
@@ -19,5 +19,4 @@ const renderAgent = (inputs) => {
19
19
  };
20
20
  const renderWorkspaceFail = { agent: renderAgent };
21
21
 
22
- //#endregion
23
22
  export { renderWorkspaceFail };
@@ -1,7 +1,7 @@
1
1
  import { buildFooter } from "../footer.js";
2
2
  import { formatCoverageJudgmentLine, formatProjectsTable, formatTrendLine, formatWorkspaceTotal } from "../helpers.js";
3
3
 
4
- //#region src/dispatcher/cells/workspace-pass.ts
4
+ // src/dispatcher/cells/workspace-pass.ts
5
5
  const renderAgent = (inputs) => {
6
6
  const sections = [];
7
7
  const projects = formatProjectsTable(inputs.projects);
@@ -17,5 +17,4 @@ const renderAgent = (inputs) => {
17
17
  };
18
18
  const renderWorkspacePass = { agent: renderAgent };
19
19
 
20
- //#endregion
21
20
  export { renderWorkspacePass };
@@ -1,7 +1,7 @@
1
1
  import { buildFooter } from "../footer.js";
2
2
  import { formatBelowTargetTable, formatCoverageSummaryLines, formatProjectsTable, formatTrendLine, formatWorkspaceTotal } from "../helpers.js";
3
3
 
4
- //#region src/dispatcher/cells/workspace-threshold.ts
4
+ // src/dispatcher/cells/workspace-threshold.ts
5
5
  const BELOW_TARGET_LIMIT = 10;
6
6
  const renderAgent = (inputs) => {
7
7
  const sections = [];
@@ -20,5 +20,4 @@ const renderAgent = (inputs) => {
20
20
  };
21
21
  const renderWorkspaceThreshold = { agent: renderAgent };
22
22
 
23
- //#endregion
24
23
  export { renderWorkspaceThreshold };
@@ -1,4 +1,4 @@
1
- //#region src/dispatcher/classify.ts
1
+ // src/dispatcher/classify.ts
2
2
  /**
3
3
  * Compute the run shape from the reduced state plus the per-project
4
4
  * aggregates the plugin carries through `DispatchInputs.projects`.
@@ -59,5 +59,4 @@ const classifyOutcome = (state) => {
59
59
  return "all-pass";
60
60
  };
61
61
 
62
- //#endregion
63
62
  export { classifyOutcome, classifyRunShape };
@@ -12,7 +12,7 @@ import { renderWorkspacePass } from "./cells/workspace-pass.js";
12
12
  import { renderWorkspaceThreshold } from "./cells/workspace-threshold.js";
13
13
  import { formatScopedCoverageNote, formatStrayOutputNote } from "@vitest-agent/sdk";
14
14
 
15
- //#region src/dispatcher/dispatch.ts
15
+ // src/dispatcher/dispatch.ts
16
16
  /**
17
17
  * The 4×3 cell table. Exported for the test harness so spy-based
18
18
  * routing tests can introspect the wiring without re-deriving it from
@@ -88,5 +88,4 @@ const scopedCoverageNoteFor = (inputs) => {
88
88
  return formatScopedCoverageNote(cov.scopedFiles ?? 0, cov.totalFiles);
89
89
  };
90
90
 
91
- //#endregion
92
91
  export { dispatch, dispatcherTable, scopedCoverageNoteFor, strayOutputNoteFor };
@@ -1,4 +1,4 @@
1
- //#region src/dispatcher/footer.ts
1
+ // src/dispatcher/footer.ts
2
2
  const FOOTER_COVERAGE_GAP = "Use `file_coverage` to find uncovered functions.";
3
3
  const FOOTER_FAILURE_PERSISTENT = "Use `test_errors` for failure detail; `failure_signature_get` to check known patterns.";
4
4
  const FOOTER_FAILURE_FLAKY = "Use `failure_signature_get` to confirm the flakiness signature.";
@@ -51,5 +51,4 @@ const buildFooter = (inputs) => {
51
51
  return `\n${lines.join("\n")}\n`;
52
52
  };
53
53
 
54
- //#endregion
55
54
  export { buildFooter, dominantClassification };
@@ -3,7 +3,7 @@ import { formatTotalsLine } from "../counts.js";
3
3
  import { formatDisplayDuration } from "../format-duration.js";
4
4
  import { Doc, Fmt, Render } from "@effected/cli";
5
5
 
6
- //#region src/dispatcher/helpers.ts
6
+ // src/dispatcher/helpers.ts
7
7
  /**
8
8
  * Format a coverage percentage given on istanbul's 0–100 scale. One
9
9
  * decimal place for non-integer values, none for integers, with a
@@ -239,5 +239,4 @@ const pctCell = (n) => {
239
239
  return `${" ".repeat(left + 1)}${text}${" ".repeat(right)}`;
240
240
  };
241
241
 
242
- //#endregion
243
242
  export { formatBelowTargetTable, formatCoverageJudgmentLine, formatCoverageSummaryLines, formatDisplayDuration, formatFailure, formatGlobShortfallLines, formatPercent, formatProjectRow, formatProjectsTable, formatTestName, formatTotals, formatTrendLine, formatWorkspaceTotal, soleModulePath, soleTest };
@@ -1,6 +1,6 @@
1
1
  import { Fmt } from "@effected/cli";
2
2
 
3
- //#region src/format-duration.ts
3
+ // src/format-duration.ts
4
4
  /**
5
5
  * Shared display formatter for run / module / test durations.
6
6
  *
@@ -30,5 +30,4 @@ import { Fmt } from "@effected/cli";
30
30
  */
31
31
  const formatDisplayDuration = (ms) => Fmt.duration(ms);
32
32
 
33
- //#endregion
34
33
  export { formatDisplayDuration };
package/index.d.ts CHANGED
@@ -1,7 +1,5 @@
1
1
  import { Schema } from "effect";
2
2
  import { CoreStatusName, GlyphSet, Status, Style, TokenName } from "@effected/cli";
3
- //#region ../sdk/dist/dev/pkg/index.d.ts
4
- //#region src/schemas/Coverage.d.ts
5
3
  /**
6
4
  * Aggregate coverage percentages across four istanbul metrics.
7
5
  * @public
@@ -59,8 +57,6 @@ declare const GlobShortfall: Schema.Struct<{
59
57
  }>;
60
58
  /** @public */
61
59
  type GlobShortfall = typeof GlobShortfall.Type;
62
- //#endregion
63
- //#region src/schemas/RenderState.d.ts
64
60
  /**
65
61
  * Per-test record accumulated as `TestStarted` / `TestFinished` events arrive.
66
62
  * @public
@@ -405,8 +401,6 @@ export type RenderState = typeof RenderState.Type;
405
401
  * @public
406
402
  */
407
403
  export declare const initialRenderState: RenderState;
408
- //#endregion
409
- //#region src/contracts/dispatcher.d.ts
410
404
  /**
411
405
  * The four run shapes the dispatcher distinguishes.
412
406
  *
@@ -735,8 +729,6 @@ type AgentReport = typeof AgentReport.Type;
735
729
  declare const TestClassification: Schema.Literals<readonly ["stable", "new-failure", "persistent", "flaky", "recovered"]>;
736
730
  /** @public */
737
731
  type TestClassification = typeof TestClassification.Type;
738
- //#endregion
739
- //#region src/schemas/RunEvent.d.ts
740
732
  /**
741
733
  * Coverage metric whose threshold can be violated independently.
742
734
  * @public
@@ -1006,8 +998,6 @@ export type RunEvent = typeof RunEvent.Type;
1006
998
  * @public
1007
999
  */
1008
1000
  type RunEventByTag = { [E in RunEvent as E["_tag"]]: E; };
1009
- //#endregion
1010
- //#region src/schemas/Thresholds.d.ts
1011
1001
  /**
1012
1002
  * Per-metric threshold values. All optional -- only set metrics are enforced.
1013
1003
  * @public
@@ -1020,8 +1010,6 @@ declare const MetricThresholds: Schema.Struct<{
1020
1010
  }>;
1021
1011
  /** @public */
1022
1012
  type MetricThresholds = typeof MetricThresholds.Type;
1023
- //#endregion
1024
- //#region src/utils/build-report.d.ts
1025
1013
  /**
1026
1014
  * Duck-typed Vitest parsed stack frame.
1027
1015
  *
@@ -1164,8 +1152,6 @@ interface VitestTestModule {
1164
1152
  diagnostic(): VitestModuleDiagnostic | undefined;
1165
1153
  errors(): Array<VitestModuleError>;
1166
1154
  }
1167
- //#endregion
1168
- //#region src/dispatcher/cell-types.d.ts
1169
1155
  /**
1170
1156
  * A cell's agent-string half: pure function from dispatch inputs to a
1171
1157
  * token-economy string emitted once at end-of-run.
@@ -1184,8 +1170,6 @@ interface Cell {
1184
1170
  /** Agent-string half — always present. */
1185
1171
  readonly agent: AgentCellFn;
1186
1172
  }
1187
- //#endregion
1188
- //#region src/dispatcher/classify.d.ts
1189
1173
  /**
1190
1174
  * Compute the run shape from the reduced state plus the per-project
1191
1175
  * aggregates the plugin carries through `DispatchInputs.projects`.
@@ -1227,8 +1211,6 @@ export declare const classifyRunShape: (state: RenderState, projects: ReadonlyAr
1227
1211
  * @public
1228
1212
  */
1229
1213
  export declare const classifyOutcome: (state: RenderState) => RunOutcome;
1230
- //#endregion
1231
- //#region src/dispatcher/dispatch.d.ts
1232
1214
  /**
1233
1215
  * The 4×3 cell table. Exported for the test harness so spy-based
1234
1216
  * routing tests can introspect the wiring without re-deriving it from
@@ -1247,8 +1229,6 @@ export declare const dispatcherTable: Readonly<Record<RunShape, Readonly<Record<
1247
1229
  * @public
1248
1230
  */
1249
1231
  export declare const dispatch: (inputs: DispatchInputs, opts: CellOptions) => string;
1250
- //#endregion
1251
- //#region src/dispatcher/footer.d.ts
1252
1232
  /**
1253
1233
  * Pick the dominant classification from a state's failure list.
1254
1234
  *
@@ -1272,8 +1252,6 @@ export declare const dominantClassification: (state: RenderState) => TestClassif
1272
1252
  * @public
1273
1253
  */
1274
1254
  export declare const buildFooter: (inputs: DispatchInputs) => string;
1275
- //#endregion
1276
- //#region src/format-duration.d.ts
1277
1255
  /**
1278
1256
  * Shared display formatter for run / module / test durations.
1279
1257
  *
@@ -1302,8 +1280,6 @@ export declare const buildFooter: (inputs: DispatchInputs) => string;
1302
1280
  * @public
1303
1281
  */
1304
1282
  export declare const formatDisplayDuration: (ms: number) => string;
1305
- //#endregion
1306
- //#region src/reducer.d.ts
1307
1283
  /**
1308
1284
  * Apply a single event to the previous state and return the next.
1309
1285
  *
@@ -1329,8 +1305,6 @@ export declare const reduceRenderState: (state: RenderState, event: RunEvent) =>
1329
1305
  * @public
1330
1306
  */
1331
1307
  export declare const reduceRenderStateAll: (events: ReadonlyArray<RunEvent>, seed?: RenderState) => RenderState;
1332
- //#endregion
1333
- //#region src/render-agent.d.ts
1334
1308
  /**
1335
1309
  * Options controlling agent-mode output. All fields optional; defaults
1336
1310
  * match the spec's "80-column, top-3 gaps, no error stack" target.
@@ -1376,8 +1350,6 @@ interface RenderAgentOptions {
1376
1350
  * @public
1377
1351
  */
1378
1352
  export declare const renderAgent: (state: RenderState, options?: RenderAgentOptions) => string;
1379
- //#endregion
1380
- //#region src/spinner.d.ts
1381
1353
  /**
1382
1354
  * The Unicode spinner frames, in animation order (`Glyphs.unicode.spinner`).
1383
1355
  *
@@ -1402,8 +1374,6 @@ export declare const SPINNER_FRAME_MS: number;
1402
1374
  * @public
1403
1375
  */
1404
1376
  export declare const spinnerFrame: (index: number, glyphs?: GlyphSet) => string;
1405
- //#endregion
1406
- //#region src/synthesize.d.ts
1407
1377
  /**
1408
1378
  * Synthetic test name used to surface a suite-level (collection/load)
1409
1379
  * failure in the Failures detail. A module that fails to import has no real
@@ -1513,8 +1483,6 @@ interface SynthesizeFromAgentReportOptions {
1513
1483
  * @public
1514
1484
  */
1515
1485
  export declare const synthesizeFromAgentReport: (report: AgentReport, options?: SynthesizeFromAgentReportOptions) => RunEvent[];
1516
- //#endregion
1517
- //#region src/theme.d.ts
1518
1486
  /**
1519
1487
  * The status vocabulary every vitest-agent render path draws from.
1520
1488
  *
@@ -1589,8 +1557,6 @@ export declare const statusGlyph: (name: VitestAgentStatusName, glyphs?: GlyphSe
1589
1557
  * @public
1590
1558
  */
1591
1559
  export declare const statusInkStyle: (name: VitestAgentStatusName) => InkTextStyle;
1592
- //#endregion
1593
- //#region src/index.d.ts
1594
1560
  /**
1595
1561
  * The version of this package, inlined at build time from
1596
1562
  * `package.json#version` via rslib-builder's `__PACKAGE_VERSION__`
@@ -1599,6 +1565,5 @@ export declare const statusInkStyle: (name: VitestAgentStatusName) => InkTextSty
1599
1565
  * @public
1600
1566
  */
1601
1567
  export declare const CURRENT_UI_VERSION: string;
1602
- //#endregion
1603
1568
  export { type AgentCellFn, type AgentReport, type Cell, type CellOptions, FileCoverageReport as CoverageFile, type CoverageTotals, type DispatchInputs, type GlobShortfall, type InkTextStyle, type MetricThresholds, type ProjectSummary, type RenderAgentOptions, type RunEventByTag, type RunOutcome, type RunShape, type SynthesizeFromAgentReportOptions, type SynthesizeOptions, type SynthesizedCoverage, type TestClassification, type TrendSummary, type VitestAgentStatusName, type VitestModuleDiagnostic, type VitestModuleError, type VitestParsedStack, type VitestTestCase, type VitestTestDiagnostic, type VitestTestError, type VitestTestModule, type VitestTestResult, type VitestTestSuite };
1604
1569
  //# sourceMappingURL=index.d.ts.map
package/index.js CHANGED
@@ -9,7 +9,7 @@ import { SPINNER_FRAMES, SPINNER_FRAME_MS, spinnerFrame } from "./spinner.js";
9
9
  import { SUITE_FAILURE_LABEL, SUITE_LOAD_FAILURE_LABEL, synthesizeFromAgentReport, synthesizeRunEvents } from "./synthesize.js";
10
10
  import { ActionSeverity, CoverageFile, CoverageGap, CoverageMetric, CoverageRenderState, FailureRecord, ModuleRecord, RenderState, RenderTotals, RunEvent, SuggestedActionRecord, TestRecord, initialRenderState } from "@vitest-agent/sdk";
11
11
 
12
- //#region src/index.ts
12
+ // src/index.ts
13
13
  /**
14
14
  * The version of this package, inlined at build time from
15
15
  * `package.json#version` via rslib-builder's `__PACKAGE_VERSION__`
@@ -17,7 +17,6 @@ import { ActionSeverity, CoverageFile, CoverageGap, CoverageMetric, CoverageRend
17
17
  *
18
18
  * @public
19
19
  */
20
- const CURRENT_UI_VERSION = "5.0.6";
20
+ const CURRENT_UI_VERSION = "5.0.7";
21
21
 
22
- //#endregion
23
22
  export { ActionSeverity, CURRENT_UI_VERSION, CoverageFile, CoverageGap, CoverageMetric, CoverageRenderState, FailureRecord, ModuleRecord, RenderState, RenderTotals, RunEvent, SPINNER_FRAMES, SPINNER_FRAME_MS, SUITE_FAILURE_LABEL, SUITE_LOAD_FAILURE_LABEL, SuggestedActionRecord, TestRecord, VitestAgentStatus, VitestAgentTokens, buildFooter, classifyOutcome, classifyRunShape, dispatch, dispatcherTable, dominantClassification, formatDisplayDuration, initialRenderState, inkStyle, reduceRenderState, reduceRenderStateAll, renderAgent, spinnerFrame, statusGlyph, statusInkStyle, synthesizeFromAgentReport, synthesizeRunEvents };
@@ -3,7 +3,7 @@ import { useGlyphs } from "@effected/cli/ui";
3
3
  import { Text } from "ink";
4
4
  import { jsxs } from "react/jsx-runtime";
5
5
 
6
- //#region src/ink/CountColumns.tsx
6
+ // src/ink/CountColumns.tsx
7
7
  /**
8
8
  * Fixed width of the duration cell that follows the count columns on an
9
9
  * aggregate row — sized for the formatter's widest common output
@@ -38,5 +38,4 @@ const CountColumns = ({ passCount, failCount, skipCount, timeoutCount }) => {
38
38
  ] });
39
39
  };
40
40
 
41
- //#endregion
42
41
  export { CountColumns, DURATION_CELL_WIDTH };
@@ -3,7 +3,7 @@ import { Fmt } from "@effected/cli";
3
3
  import { Box, Text } from "ink";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
 
6
- //#region src/ink/CoverageBlock.tsx
6
+ // src/ink/CoverageBlock.tsx
7
7
  /**
8
8
  * Coverage section: per-metric percentage, threshold violations, top-N gaps.
9
9
  */
@@ -82,5 +82,4 @@ const CoverageBlock = ({ coverage, maxGaps = 3 }) => {
82
82
  });
83
83
  };
84
84
 
85
- //#endregion
86
85
  export { CoverageBlock };
@@ -3,7 +3,7 @@ import { useGlyphs } from "@effected/cli/ui";
3
3
  import { Box, Text } from "ink";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
 
6
- //#region src/ink/FailureSection.tsx
6
+ // src/ink/FailureSection.tsx
7
7
  /**
8
8
  * Failure list: one block per failed test with classification, message,
9
9
  * diff, and optionally stack trace.
@@ -72,5 +72,4 @@ const FailureSection = ({ failures, includeStack = false }) => {
72
72
  });
73
73
  };
74
74
 
75
- //#endregion
76
75
  export { FailureSection };
@@ -3,7 +3,7 @@ import { useGlyphs } from "@effected/cli/ui";
3
3
  import { Box, Text } from "ink";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
 
6
- //#region src/ink/FailuresSection.tsx
6
+ // src/ink/FailuresSection.tsx
7
7
  /**
8
8
  * The capped failures block for aggregate-row shapes (workspace,
9
9
  * single-project) — the rows there are projects or modules and cannot
@@ -94,5 +94,4 @@ const FailuresSection = ({ failures, limit }) => {
94
94
  });
95
95
  };
96
96
 
97
- //#endregion
98
97
  export { FailuresSection };
@@ -3,7 +3,7 @@ import { StatusIcon } from "./StatusIcon.js";
3
3
  import { Box, Text } from "ink";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
 
6
- //#region src/ink/ModuleHeader.tsx
6
+ // src/ink/ModuleHeader.tsx
7
7
  const moduleGlyph = (m) => {
8
8
  if (m.status === "queued") return "queued";
9
9
  if (m.status === "running") return "running";
@@ -39,5 +39,4 @@ const ModuleHeader = ({ module }) => {
39
39
  ] });
40
40
  };
41
41
 
42
- //#endregion
43
42
  export { ModuleHeader };
package/ink/ProjectRow.js CHANGED
@@ -6,7 +6,7 @@ import { TagColumns } from "./TagColumns.js";
6
6
  import { Box, Text } from "ink";
7
7
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
8
 
9
- //#region src/ink/ProjectRow.tsx
9
+ // src/ink/ProjectRow.tsx
10
10
  /**
11
11
  * Pick the glyph element for the project row using the spec's severity
12
12
  * precedence (`✗ > ⧖ > ⚠ > ↷ > ✓`). Skip-only projects (no passes, no
@@ -53,5 +53,4 @@ const ProjectRow = ({ project, counts, running, timedOut = false, elapsedMs, fra
53
53
  })] }) : null
54
54
  ] });
55
55
 
56
- //#endregion
57
56
  export { ProjectRow };
package/ink/StatusIcon.js CHANGED
@@ -3,7 +3,7 @@ import { useGlyphs } from "@effected/cli/ui";
3
3
  import { Text } from "ink";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
 
6
- //#region src/ink/StatusIcon.tsx
6
+ // src/ink/StatusIcon.tsx
7
7
  /**
8
8
  * Single-character status glyph for tests, modules, and the run itself.
9
9
  *
@@ -39,5 +39,4 @@ const StatusIcon = ({ status }) => {
39
39
  });
40
40
  };
41
41
 
42
- //#endregion
43
42
  export { StatusIcon };
package/ink/StreamApp.js CHANGED
@@ -14,7 +14,7 @@ import { useGlyphs } from "@effected/cli/ui";
14
14
  import { Box, Text } from "ink";
15
15
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
16
16
 
17
- //#region src/ink/StreamApp.tsx
17
+ // src/ink/StreamApp.tsx
18
18
  const ANONYMOUS_PROJECT = "default";
19
19
  /** Maximum number of running rows displayed in the Live region. Beyond this,
20
20
  * excess running units collapse into a single "… and N more running" line. */
@@ -523,5 +523,4 @@ const StreamApp = ({ state, frameIndex, nowMs }) => {
523
523
  });
524
524
  };
525
525
 
526
- //#endregion
527
526
  export { StreamApp, buildProjectSummary };
@@ -3,7 +3,7 @@ import { Token } from "@effected/cli";
3
3
  import { Box, Text } from "ink";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
 
6
- //#region src/ink/SuggestedActions.tsx
6
+ // src/ink/SuggestedActions.tsx
7
7
  const SEVERITY_TOKEN = {
8
8
  info: Token.named("blue"),
9
9
  warn: "warning",
@@ -47,5 +47,4 @@ const SuggestedActions = ({ actions }) => {
47
47
  });
48
48
  };
49
49
 
50
- //#endregion
51
50
  export { SuggestedActions };
package/ink/TagColumns.js CHANGED
@@ -2,7 +2,7 @@ import { VitestAgentTokens, inkStyle } from "../theme.js";
2
2
  import { Text } from "ink";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
 
5
- //#region src/ink/TagColumns.tsx
5
+ // src/ink/TagColumns.tsx
6
6
  /**
7
7
  * Fixed-width tag-count columns for aggregate rows in the `stream` view.
8
8
  * Every row renders every tag in the view's union so the columns align
@@ -46,5 +46,4 @@ const TagColumns = ({ tags, counts }) => {
46
46
  }) });
47
47
  };
48
48
 
49
- //#endregion
50
49
  export { TagColumns, tagUnion };
package/ink/TestRow.js CHANGED
@@ -3,7 +3,7 @@ import { StatusIcon } from "./StatusIcon.js";
3
3
  import { Box, Text } from "ink";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
 
6
- //#region src/ink/TestRow.tsx
6
+ // src/ink/TestRow.tsx
7
7
  const testGlyph = (status) => status;
8
8
  /**
9
9
  * Renders one test row: status glyph, optional suite prefix, test name, and duration.
@@ -29,5 +29,4 @@ const TestRow = ({ test, indent = 2 }) => {
29
29
  ] });
30
30
  };
31
31
 
32
- //#endregion
33
32
  export { TestRow };
package/ink/TrendLine.js CHANGED
@@ -3,7 +3,7 @@ import { Fmt } from "@effected/cli";
3
3
  import { Text } from "ink";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
 
6
- //#region src/ink/TrendLine.tsx
6
+ // src/ink/TrendLine.tsx
7
7
  /** A regressing trend is a `warning`, not a failure (the kit's drift decision). */
8
8
  const TOKEN = {
9
9
  improving: "success",
@@ -38,5 +38,4 @@ const TrendLine = ({ trend }) => {
38
38
  ] });
39
39
  };
40
40
 
41
- //#endregion
42
41
  export { TrendLine };
@@ -3,7 +3,7 @@ import { renderAgentStringAsInk } from "./ink-helpers.js";
3
3
  import { Box, Text } from "ink";
4
4
  import { createElement } from "react";
5
5
 
6
- //#region src/ink/dispatch-ink.ts
6
+ // src/ink/dispatch-ink.ts
7
7
  /** The Ink half of a cell whose live view is its agent string, painted. */
8
8
  const asInk = (agent) => (inputs, opts) => renderAgentStringAsInk(agent(inputs, opts));
9
9
  const inkOf = (shape, outcome) => asInk(dispatcherTable[shape][outcome].agent);
@@ -57,5 +57,4 @@ const dispatchInk = (inputs, opts) => {
57
57
  return createElement(Box, { flexDirection: "column" }, element, note !== null ? createElement(Text, null, note) : null, stray !== null ? createElement(Box, { marginTop: 1 }, createElement(Text, null, stray)) : null);
58
58
  };
59
59
 
60
- //#endregion
61
60
  export { dispatchInk, inkDispatcherTable };
@@ -2,7 +2,7 @@ import { inkStyle, statusGlyph, statusInkStyle } from "../theme.js";
2
2
  import { Box, Text } from "ink";
3
3
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
4
 
5
- //#region src/ink/ink-helpers.tsx
5
+ // src/ink/ink-helpers.tsx
6
6
  /**
7
7
  * Render an agent-string output as a column of Ink Text rows, applying
8
8
  * color to the leading status glyph on each line.
@@ -52,5 +52,4 @@ const colorize = (line) => {
52
52
  return line;
53
53
  };
54
54
 
55
- //#endregion
56
55
  export { renderAgentStringAsInk };
package/ink.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { Schema } from "effect";
2
2
  import { FC, ReactElement } from "react";
3
- //#region ../sdk/dist/dev/pkg/index.d.ts
4
3
  /**
5
4
  * Per-file coverage data including uncovered line ranges.
6
5
  * @public
@@ -17,8 +16,6 @@ declare const FileCoverageReport: Schema.Struct<{
17
16
  }>;
18
17
  /** @public */
19
18
  type FileCoverageReport = typeof FileCoverageReport.Type;
20
- //#endregion
21
- //#region src/schemas/RenderState.d.ts
22
19
  /**
23
20
  * Per-test record accumulated as `TestStarted` / `TestFinished` events arrive.
24
21
  * @public
@@ -342,8 +339,6 @@ declare const RenderState: Schema.Struct<{
342
339
  }>;
343
340
  /** @public */
344
341
  type RenderState = typeof RenderState.Type;
345
- //#endregion
346
- //#region src/contracts/dispatcher.d.ts
347
342
  /**
348
343
  * The four run shapes the dispatcher distinguishes.
349
344
  *
@@ -465,8 +460,6 @@ interface CellOptions {
465
460
  */
466
461
  readonly osc8: (url: string, label: string) => string;
467
462
  }
468
- //#endregion
469
- //#region src/ink/CountColumns.d.ts
470
463
  /**
471
464
  * Props for the `CountColumns` component.
472
465
  *
@@ -500,8 +493,6 @@ export declare const DURATION_CELL_WIDTH = 7;
500
493
  * @public
501
494
  */
502
495
  export declare const CountColumns: FC<CountColumnsProps>;
503
- //#endregion
504
- //#region src/ink/CoverageBlock.d.ts
505
496
  /**
506
497
  * Props for the `CoverageBlock` component.
507
498
  *
@@ -520,8 +511,6 @@ interface CoverageBlockProps {
520
511
  * @public
521
512
  */
522
513
  export declare const CoverageBlock: FC<CoverageBlockProps>;
523
- //#endregion
524
- //#region src/ink/dispatch-ink.d.ts
525
514
  /**
526
515
  * A cell's Ink half: pure function from dispatch inputs to a React
527
516
  * element rendered to the terminal.
@@ -549,8 +538,6 @@ export declare const inkDispatcherTable: Readonly<Record<RunShape, Readonly<Reco
549
538
  * @public
550
539
  */
551
540
  export declare const dispatchInk: (inputs: DispatchInputs, opts: CellOptions) => ReactElement | null;
552
- //#endregion
553
- //#region src/ink/FailureSection.d.ts
554
541
  /**
555
542
  * Props for the `FailureSection` component.
556
543
  *
@@ -569,8 +556,6 @@ interface FailureSectionProps {
569
556
  * @public
570
557
  */
571
558
  export declare const FailureSection: FC<FailureSectionProps>;
572
- //#endregion
573
- //#region src/ink/FailuresSection.d.ts
574
559
  /**
575
560
  * Props for the `FailuresSection` component.
576
561
  *
@@ -589,8 +574,6 @@ interface FailuresSectionProps {
589
574
  * @public
590
575
  */
591
576
  export declare const FailuresSection: FC<FailuresSectionProps>;
592
- //#endregion
593
- //#region src/ink/ModuleHeader.d.ts
594
577
  /**
595
578
  * Props for the `ModuleHeader` component.
596
579
  *
@@ -607,8 +590,6 @@ interface ModuleHeaderProps {
607
590
  * @public
608
591
  */
609
592
  export declare const ModuleHeader: FC<ModuleHeaderProps>;
610
- //#endregion
611
- //#region src/ink/ProjectRow.d.ts
612
593
  /**
613
594
  * Props for the `ProjectRow` component.
614
595
  *
@@ -653,8 +634,6 @@ interface ProjectRowProps {
653
634
  * @public
654
635
  */
655
636
  export declare const ProjectRow: FC<ProjectRowProps>;
656
- //#endregion
657
- //#region src/ink/StatusIcon.d.ts
658
637
  /**
659
638
  * The set of named statuses a `StatusIcon` can render.
660
639
  *
@@ -676,8 +655,6 @@ interface StatusIconProps {
676
655
  * @public
677
656
  */
678
657
  export declare const StatusIcon: FC<StatusIconProps>;
679
- //#endregion
680
- //#region src/ink/StreamApp.d.ts
681
658
  /**
682
659
  * Props for the `StreamApp` component.
683
660
  *
@@ -698,8 +675,6 @@ interface StreamAppProps {
698
675
  * @public
699
676
  */
700
677
  export declare const StreamApp: FC<StreamAppProps>;
701
- //#endregion
702
- //#region src/ink/SuggestedActions.d.ts
703
678
  /**
704
679
  * Props for the `SuggestedActions` component.
705
680
  *
@@ -716,8 +691,6 @@ interface SuggestedActionsProps {
716
691
  * @public
717
692
  */
718
693
  export declare const SuggestedActions: FC<SuggestedActionsProps>;
719
- //#endregion
720
- //#region src/ink/TagColumns.d.ts
721
694
  /**
722
695
  * Compute the view-level tag union: the alphabetically sorted set of tag
723
696
  * names across every row's tag counts. A union of a single tag carries no
@@ -745,8 +718,6 @@ interface TagColumnsProps {
745
718
  * @public
746
719
  */
747
720
  export declare const TagColumns: FC<TagColumnsProps>;
748
- //#endregion
749
- //#region src/ink/TestRow.d.ts
750
721
  /**
751
722
  * Props for the `TestRow` component.
752
723
  *
@@ -764,8 +735,6 @@ interface TestRowProps {
764
735
  * @public
765
736
  */
766
737
  export declare const TestRow: FC<TestRowProps>;
767
- //#endregion
768
- //#region src/ink/TrendLine.d.ts
769
738
  /**
770
739
  * Props for the `TrendLine` component.
771
740
  *
@@ -784,6 +753,5 @@ interface TrendLineProps {
784
753
  * @public
785
754
  */
786
755
  export declare const TrendLine: FC<TrendLineProps>;
787
- //#endregion
788
756
  export type { CellOptions, CountColumnsProps, CoverageBlockProps, CoverageRenderState, DispatchInputs, FailureRecord, FailureSectionProps, FailuresSectionProps, FileCoverageReport, InkCellFn, ModuleHeaderProps, ModuleRecord, ProjectRowProps, ProjectSummary, RenderState, RunOutcome, RunShape, StatusIconKind, StatusIconProps, StreamAppProps, SuggestedActionRecord, SuggestedActionsProps, TagColumnsProps, TestRecord, TestRowProps, TrendLineProps, TrendSummary };
789
757
  //# sourceMappingURL=ink.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitest-agent/ui",
3
- "version": "5.0.6",
3
+ "version": "5.0.7",
4
4
  "private": false,
5
5
  "description": "Shared event-sourced renderer for vitest-agent. React Ink view for humans, plain-string view for agents, both fed by the same reducer over a RunEvent stream.",
6
6
  "keywords": [
@@ -44,14 +44,14 @@
44
44
  "./package.json": "./package.json"
45
45
  },
46
46
  "dependencies": {
47
- "@vitest-agent/sdk": "7.0.4",
48
- "effect": "^4.0.5"
47
+ "@vitest-agent/sdk": "7.0.5",
48
+ "effect": "^4.0.6"
49
49
  },
50
50
  "peerDependencies": {
51
- "@effected/cli": "^0.19.0",
52
- "@effected/env": "^0.4.0",
53
- "@effected/glob": "^0.13.0",
54
- "@effected/walker": "^0.18.0",
51
+ "@effected/cli": "^0.20.0",
52
+ "@effected/env": "^0.5.0",
53
+ "@effected/glob": "^0.14.0",
54
+ "@effected/walker": "^0.19.0",
55
55
  "ink": "^8.0.0",
56
56
  "react": "^19.3.0"
57
57
  },
package/reducer.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { initialRenderState } from "@vitest-agent/sdk";
2
2
  import { Match } from "effect";
3
3
 
4
- //#region src/reducer.ts
4
+ // src/reducer.ts
5
5
  const queuedModule = (modulePath, projectName) => ({
6
6
  modulePath,
7
7
  status: "queued",
@@ -263,5 +263,4 @@ const reduceRenderState = (state, event) => {
263
263
  */
264
264
  const reduceRenderStateAll = (events, seed = initialRenderState) => events.reduce(reduceRenderState, seed);
265
265
 
266
- //#endregion
267
266
  export { reduceRenderState, reduceRenderStateAll };
package/render-agent.js CHANGED
@@ -3,7 +3,7 @@ import { formatFailure as formatFailure$1, formatGlobShortfallLines } from "./di
3
3
  import { formatStrayOutputNote } from "@vitest-agent/sdk";
4
4
  import { Fmt } from "@effected/cli";
5
5
 
6
- //#region src/render-agent.ts
6
+ // src/render-agent.ts
7
7
  /**
8
8
  * Agent-mode renderer: produces a token-efficient final-frame string
9
9
  * from a fully-reduced `RenderState`.
@@ -146,5 +146,4 @@ const renderAgent = (state, options = {}) => {
146
146
  return `${sections.join("\n\n")}\n`;
147
147
  };
148
148
 
149
- //#endregion
150
149
  export { renderAgent };
package/spinner.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Glyphs } from "@effected/cli";
2
2
 
3
- //#region src/spinner.ts
3
+ // src/spinner.ts
4
4
  /**
5
5
  * The Unicode spinner frames, in animation order (`Glyphs.unicode.spinner`).
6
6
  *
@@ -30,5 +30,4 @@ const spinnerFrame = (index, glyphs = Glyphs.unicode) => {
30
30
  return frames[(Math.trunc(index) % count + count) % count] ?? "";
31
31
  };
32
32
 
33
- //#endregion
34
33
  export { SPINNER_FRAMES, SPINNER_FRAME_MS, spinnerFrame };
package/synthesize.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { isTimeoutError } from "@vitest-agent/sdk";
2
2
 
3
- //#region src/synthesize.ts
3
+ // src/synthesize.ts
4
4
  /**
5
5
  * Synthetic test name used to surface a suite-level (collection/load)
6
6
  * failure in the Failures detail. A module that fails to import has no real
@@ -392,5 +392,4 @@ const synthesizeFromAgentReport = (report, options = {}) => {
392
392
  return events;
393
393
  };
394
394
 
395
- //#endregion
396
395
  export { SUITE_FAILURE_LABEL, SUITE_LOAD_FAILURE_LABEL, synthesizeFromAgentReport, synthesizeRunEvents };
package/theme.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Glyphs, Status, Token } from "@effected/cli";
2
2
  import { inkProps } from "@effected/cli/ui";
3
3
 
4
- //#region src/theme.ts
4
+ // src/theme.ts
5
5
  /**
6
6
  * The status vocabulary every vitest-agent render path draws from.
7
7
  *
@@ -78,5 +78,4 @@ const statusGlyph = (name, glyphs = Glyphs.unicode) => VitestAgentStatus.glyph(n
78
78
  */
79
79
  const statusInkStyle = (name) => inkStyle(VitestAgentStatus.def(name).token);
80
80
 
81
- //#endregion
82
81
  export { VitestAgentStatus, VitestAgentTokens, inkStyle, statusGlyph, statusInkStyle };