Master now carries the final #4182 plugin manager and the live client module graph of #4189, so the web management layer is re-ported onto them: - The manager keeps master's `ManagementError` codes, `ChangeResult` stages, `configure()` under `hmr.runExclusive`, `reload()` warnings and `writePluginEnabled` name matching, and adds back `inspect`, request-id installs with `plugin-manager/install-log` and `plugin-manager/install-state`, `cancelInstall`, `listBundles` titles, rows and overrides, `packageResult.kind`, `pnpmCommand` and `inspectTimeoutMs`, and `plugin-manager/changed` after each change and each `profile/reconciled`. A failed or cancelled installation restores the snapshotted manifest and lockfile instead of master's one-shot `pnpm remove` cleanup, so `cleanup` and `remainingDependencies` leave the result. - App boot keeps master's reconciliation diagnostics and emits `profile/reconciled`; `watchUserPatches` goes with the launcher's watcher now that HMR owns profile reloads. - The settings Plugin list tab stays read-only with #4189's page-local sync failures and retry; master's bundle form and row checkboxes are dropped again. The sidebar page words the Host's codes through its dictionary, and a client bundle change follows the live module graph without a page reload. - The web e2e scaffold no longer chooses a reload policy: the base bundle's `hmr` row turns on with the profile context and application readiness, and `profile.hmr: false` disables it through an overlay for the startup-only scenario.
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 zones, and timeouts. | 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 canonicalization, 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.
Table of Contents
Packages
Each package provides one primitive; 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 |
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 |
output-retention/ |
Bounds model-facing output and reports exact omission metadata |
time/ |
Validates and canonicalizes a caller-reported IANA time zone |
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.