@unotest/viewer 0.6.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,43 @@
2
2
 
3
3
  All notable changes to `@unotest/viewer` are documented in this file.
4
4
 
5
+ ## [0.9.0] - 2026-06-11
6
+
7
+ ### Added
8
+
9
+ - **Folder + scenario management in the tree.** Right-click context menu — New
10
+ scenario, New folder, Copy, Paste, Rename, Delete — with arbitrary folder
11
+ nesting, a clipboard, inline rename, and keyboard shortcuts (F2 / ⌘C / ⌘V).
12
+ Collapse/expand state persists across reloads.
13
+ - **Breakpoints in the code editor.** Click the Monaco glyph margin to set/clear
14
+ a breakpoint on a statement; dots render in the gutter and persist to
15
+ `.debugger.json` (picked up by the next Debug run).
16
+ - **Split inspector tabs.** System (the runner log stream) vs Console (the
17
+ page's browser console from `console.json`); a Chrome-style Network table
18
+ (name / status / type / size / time) from `network.json`. Both read per-run
19
+ artifacts, so they work on any run, not only failures.
20
+
21
+ ### Changed
22
+
23
+ - The run view defaults to **Steps** for a plain Run and **Code** for Debug /
24
+ agent / authoring sessions.
25
+ - Scenario tree rows show just the filename; the active scenario is highlighted.
26
+ - The Vars inspector puts name + value on one line.
27
+
28
+ ### Fixed
29
+
30
+ - The steps tree now follows the live editable source in authoring sessions
31
+ (it was parsing the frozen run snapshot, so edits/recordings didn't appear).
32
+
33
+ ## [0.6.2] - 2026-06-05
34
+
35
+ ### Changed
36
+
37
+ - **Variables panel sections are collapsible.** The `.env` and `.secrets`
38
+ groups can be toggled (`.env` starts collapsed so secrets are
39
+ front-and-center). A non-empty filter forces every section open so
40
+ matches are never hidden behind a collapsed header.
41
+
5
42
  ## [0.6.1] - 2026-06-03
6
43
 
7
44
  ### Added
@@ -1,4 +1,4 @@
1
- import { IRunnerAdapter } from '@unotest/protocol';
1
+ import { IRunnerAdapter, IDslLanguageService, IProcessLauncher } from '@unotest/protocol';
2
2
 
3
3
  interface StartViewerOptions {
4
4
  /** Absolute path to the project root (the dir containing `unotest/`). */
@@ -9,10 +9,23 @@ interface StartViewerOptions {
9
9
  * `@unotest/mobile`'s would pass its own). The viewer NEVER imports
10
10
  * a concrete adapter — DIP boundary. */
11
11
  adapter: IRunnerAdapter;
12
+ /** DSL language service — vocab + validation for the editor. Provided
13
+ * by the launcher (`@unotest/web`'s `webDslLanguageService`); the
14
+ * viewer never imports a concrete service. Same DIP boundary as
15
+ * `adapter`. */
16
+ dsl: IDslLanguageService;
12
17
  /** Port to bind. `0` = OS picks a free port. Default 0. */
13
18
  port?: number;
14
19
  /** Host to bind. Default 'localhost' (loopback only). */
15
20
  host?: string;
21
+ /** Process launcher — HOW the runner subprocess is spawned. Optional;
22
+ * defaults to the current Node (`NodeProcessLauncher`). The Electron
23
+ * studio passes a utilityProcess-backed launcher. */
24
+ launcher?: IProcessLauncher;
25
+ /** Absolute dirs prepended to `PATH` in docked-terminal sessions (studio
26
+ * injects its bundled `node` + runner bin so terminal commands resolve
27
+ * without a system install). */
28
+ terminalPathPrefix?: readonly string[];
16
29
  }
17
30
  interface ViewerHandle {
18
31
  url: string;