* feat(experimental): ship the two card experiments as one Personalized recommendations bundle @deepseek-ai/dsh-personalized-recommendations inserts the action card service, its browser half, Personalized pages and Plugin recommendations with their card bodies under the existing row ids. As the only layer that declares those ids, the Plugins page addresses and switches each row, including the two shared card rows that were read-only while two bundles inserted them. The two experiment packages stop being bundles; the new bundle takes their place in the official lists and the dsh installation, with the personalized pages icon, localized title and description, and a feature preview of both cards. The two feature rows describe what they do on the bundle page. * fix(experimental): drop the model reason line from plugin recommendation cards The reason follows the language of the user's question while the catalog description below it follows the interface language, so the two lines could differ in language and largely repeat each other; the answer already gives the reason. The card keeps the catalog title and description, both in the interface language, as its details target. * test(web): refresh the card fixtures for the Personalized recommendations bundle Both card replays enable the new bundle, so each Session lists both card skills, and each skill's catalog lists Personalized recommendations in place of the two former bundles. The plugin card goldens lose the reason line. --------- Co-authored-by: ZiyaZhang <199893125+ZiyaZhang@users.noreply.github.com>
description, kind
| description | kind |
|---|---|
| Package map for shared utilities: atomic file writes, branded ids, deques, JSON values, harness home paths, launch environment, native commands, output retention, time and zone vocabulary, timeouts, and official package lists. | package-group |
util/ — shared utilities
English | 中文
Summary
The util/ group gives capability packages shared mechanical primitives instead of duplicate implementations. It covers atomic writes, branded ids, deques, lossless JSON values, UUIDs, Harness-home paths, launch environments, outbound proxy policy, native commands, output retention, time-zone, instant, and span vocabulary, and timeout handling. Every root entry here is a library: it registers no product service or event, and the consuming capability retains the business semantics. The exception is official-bundles: instead of a mechanical primitive, it holds the installation's and the plugin manager's official package lists as data their consumers apply.
Table of Contents
Packages
Each package provides one primitive or one data set; open a package page for how to use it.
| Package | Role |
|---|---|
brand/ |
Nominal string types and their stateless constructor |
package-manifest/ |
Shared TypeScript declarations for package manifests |
plugin-detail/ |
Selects plugin detail documents and reads them from local packages and npm file CDNs |
plugin-market-index/ |
Validates plugin market index format 1 and builds pinned install arguments |
official-bundles/ |
Lists the official bundle and plugin packages the installation ships, offers, installs on demand, retires, and the plugin manager protects or presents |
crypto/ |
Mints RFC 9562 v4 UUIDs from the cross-runtime crypto.getRandomValues primitive |
deque/ |
Provides amortized constant-time queue operations with bounded vacant storage |
chunked-list/ |
Retains immutable list versions with bounded append copying and checkpoint validation |
values/ |
Validates, snapshots, compares, and freezes lossless JSON-compatible values |
home-paths/ |
Resolves the single Harness home and joins shared user-data paths |
http-proxy/ |
Resolves one outbound proxy policy and installs it for fetch, SDK agents, and spawned children |
launch-environment/ |
Frozen launch environment that remembers which layer supplied each value |
atomic-write/ |
Atomic file replacement and cross-process writer locking |
lazy-require/ |
Loads CommonJS-compatible Host dependencies on first use with caller-relative resolution |
native-command/ |
Runs host-native commands directly, never through a shell string |
workspace-path/ |
Provides browser-safe Workspace path and display helpers |
code-language/ |
Maps a filename suffix to the syntax-highlighting language that the Code preview, diff review, and the read card render |
output-retention/ |
Bounds model-facing output and reports exact omission metadata |
time/ |
Parses strict instants, local calendars, and caller-reported IANA zones, and holds a millisecond span |
timeout/ |
Deadline arithmetic, signal fusion, and timeout-versus-cancel classification |
Related documentation
- Root package map — where
util/sits among all package groups. - Generated configuration catalog — the library-package index this group forms part of.
- Adding a package cookbook — how a new shared primitive lands in this group.
Dev Note
Working context for maintainers — click to expand
None.