deepseek-harness-intelligent-ui 0.2.6 → 0.2.8

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
@@ -6,6 +6,53 @@ All notable changes to this project are documented here. The format follows
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.2.8]
10
+
11
+ ### Added
12
+
13
+ - `ui_compose`: one answer whose ordered blocks interleave markdown prose with the existing declarative catalog and the existing sandboxed widget, for analysis, teaching and sectioned reports where UI must sit between paragraphs ([#48](https://github.com/dreamfarer-space/deepseek-harness-intelligent-ui/pull/48)). Blocks reuse the existing validators, renderers and sandbox; each catalog block is patchable in place as `<composition uiId>#<block id>`, and block-level session identity keeps same-named components in different blocks independent. The finished composition is shown beneath the reply with a "Copy text" action, and the portable renderer accepts a `composition` artifact. New `enableCompose` setting (default on).
14
+
15
+ - `Choice` single-choice card with "Continue in this session" / "Start new session", and Button `sessionTarget: "new"` to start an independent Agent session in the same workspace, so a decision can be confirmed without typing.
16
+
17
+ ### Changed
18
+
19
+ - CI runs the full macOS matrix only nightly, on demand and for releases; pull requests and pushes to `main` cover every other cell ([#49](https://github.com/dreamfarer-space/deepseek-harness-intelligent-ui/pull/49)).
20
+ - Repository automation: new issues are classified with existing labels, and pull requests receive a Chinese static review bound to the reviewed commit ([#50](https://github.com/dreamfarer-space/deepseek-harness-intelligent-ui/pull/50), [#51](https://github.com/dreamfarer-space/deepseek-harness-intelligent-ui/pull/51), [#54](https://github.com/dreamfarer-space/deepseek-harness-intelligent-ui/pull/54)). The bots run trusted default-branch code only, read PR content through the API, review in batches so no file is dropped, and never approve or merge.
21
+ - The 0.2.7 changelog described `ui_compose` before it shipped; it is released for the first time here.
22
+
23
+ ### Fixed
24
+
25
+ - Composition state is restored from history only when the receipt and capability checks passed, so a rejected composition cannot become a patchable UI after a reload.
26
+ - Retrying a patched block reuses its original session instead of creating a second one, and widget runtime errors are surfaced in both the DSH client and the standalone renderer.
27
+ - The option picker no longer draws a full-row focus ring, and choosing an option focuses the action instead of the row.
28
+
29
+ ## [0.2.7]
30
+
31
+ ### Added
32
+
33
+ - `ui_compose`: one answer whose ordered blocks interleave markdown prose with the existing declarative catalog and the existing sandboxed widget, for analysis, teaching and sectioned reports where UI must sit between paragraphs. Blocks reuse the existing validators, renderers and sandbox; each catalog block is patchable in place as `<composition uiId>#<block id>`. New `enableCompose` setting (default on). The finished composition is shown beneath the reply with a "Copy text" action, and the portable renderer accepts a `composition` artifact. Guidance now routes prose-heavy answers here while keeping dashboards terse.
34
+
35
+ - `Choice` single-choice card with "Continue in this session" / "Start new session", and Button `sessionTarget: "new"` to start an independent Agent session in the same workspace ([#39](https://github.com/dreamfarer-space/deepseek-harness-intelligent-ui/pull/39)).
36
+ - `Table` data-grid options ([#17](https://github.com/dreamfarer-space/deepseek-harness-intelligent-ui/issues/17)): typed sorting (numbers, ISO 8601 dates, booleans; empty values last), `columnTypes`, `searchable`, `filterable` (per-column contains / min-max ranges, AND-combined), `pageSize` for inline rows, and `exportable` CSV/Markdown of the filtered, sorted rows. All local; nothing is sent to the model. Interaction state survives remounts and reloads.
37
+ - CSV export is RFC 4180 with a UTF-8 BOM and neutralises spreadsheet formula injection (`=`, `+`, `-`, `@`, TAB, CR); Markdown export escapes table syntax.
38
+ - `Scatter`: continuous x/y observations with axis labels and units, per-series legend toggles, nearest-point hover, tap and arrow-key inspection; points missing a coordinate are hidden and counted. Laid out at the card's real width so axis text stays readable on phones. Up to 2,000 points.
39
+ - `Heatmap`: category × category matrix with sequential or zero-centred diverging scale, optional fixed `min`/`max`, a colour bar, cell values when they fit, and keyboard/hover/tap cell inspection. `null` cells are drawn hatched as "no data", never as 0. Up to 60 × 60 cells.
40
+ - Code and structure viewers: `CodeDiff` (multi-file, before/after text diffed in the browser or a unified `patch`; line numbers, +/- counts, expandable unchanged context, large files collapsed), `FileTree` (slash paths with status badges and notes, keyboard expand/collapse) and `JsonView` (collapsible tree with `$.a[0].b` paths and copy path/value). All content is rendered as text; nothing is read from disk or executed. Size and depth limits are validated by the Host.
41
+ - `Chart`: keyboard focus with arrow/Home/End/Escape stepping through categories, tap-to-inspect on touch screens, and `exportable` data export. Bound `dataRef` tables and charts can export too. Charts are laid out at the card's real width, so axis labels stay legible on phones and fewer x labels are shown when space is short.
42
+ - Browser E2E checks 13a–13g for the new components (filters, CSV contents and formula neutralisation, scatter hover, heatmap keyboard, CodeDiff as text, no model calls); `E2E_DATA_ONLY=1` runs only them.
43
+ - `docs/component-roadmap.md`: what #17 shipped, and design proposals for `Map` and `Calendar`.
44
+ - Per-feature demo videos in the README (Choice, data grid, Scatter/Heatmap, CodeDiff/FileTree/JsonView), recorded live in the DSH desktop app with DeepSeek models through magpie. `npm run demo:features` re-records them: `scripts/demo/record-features.mjs` drives the desktop app over the DevTools protocol and `scripts/demo/camera.mjs` renders a camera that follows the cursor, holds between actions and fast-forwards model waits.
45
+
46
+ ### Changed
47
+
48
+ - The guidance points the model at the new components (Choice for picking between alternatives, data-grid options for explorable tables, Scatter, Heatmap, CodeDiff, FileTree, JsonView) instead of prose, Tabs or custom widget JavaScript. With DeepSeek-V4.1-Flash in the DSH desktop app, a price/rating question produced a Scatter and a function comparison a CodeDiff on the first try.
49
+ - Interaction state that guards a side effect (starting a new session) is written durably: if browser storage is unavailable the action fails before creating anything, so a retry after reload cannot start the task twice.
50
+ - The README was reorganized: stale sections removed, an Extending section and a documentation index added, and the feature tour videos embedded.
51
+
52
+ ### Fixed
53
+
54
+ - CI: Windows browser jobs no longer fail intermittently. Every real-browser script launches Chrome through one helper that uses a fresh profile directory per attempt and retries ("The browser is already running for …"), and first navigations get 60 s with one retry instead of 10 s.
55
+
9
56
  ## [0.2.6]
10
57
 
11
58
  ### Added
@@ -131,7 +178,9 @@ All notable changes to this project are documented here. The format follows
131
178
  - The declarative component catalog (`ui_render`) and sandboxed streaming HTML widgets (`ui_render_widget`).
132
179
  - The `/ui` command and the guidance system-prompt section.
133
180
 
134
- [Unreleased]: https://github.com/dreamfarer-space/deepseek-harness-intelligent-ui/compare/v0.2.6...HEAD
181
+ [Unreleased]: https://github.com/dreamfarer-space/deepseek-harness-intelligent-ui/compare/v0.2.8...HEAD
182
+ [0.2.8]: https://github.com/dreamfarer-space/deepseek-harness-intelligent-ui/compare/v0.2.7...v0.2.8
183
+ [0.2.7]: https://github.com/dreamfarer-space/deepseek-harness-intelligent-ui/compare/v0.2.6...v0.2.7
135
184
  [0.2.6]: https://github.com/dreamfarer-space/deepseek-harness-intelligent-ui/compare/v0.2.5...v0.2.6
136
185
  [0.2.5]: https://github.com/dreamfarer-space/deepseek-harness-intelligent-ui/compare/v0.2.4...v0.2.5
137
186
  [0.2.4]: https://github.com/dreamfarer-space/deepseek-harness-intelligent-ui/compare/v0.2.3...v0.2.4