Files
deepseek-harness/packages/util
Yichen Jiang 9b6e551054 fix(app-boot): accept DeepSeek endpoints from the home .env only as spelled
The Harness-home exemption matched every name case-insensitively, so a
home `.env` line such as `deepseek_base_url=...` passed the check and
landed in `process.env` under that spelling. The launch snapshot looks
names up exactly on POSIX, so llm-deepseek, web-search-deepseek, and
web-deepseek-api never saw it: the launch succeeded with the official
endpoint, where it used to fail. Proxy names keep matching in any letter
case because proxy clients read both spellings; the two endpoint names
now match only as `DEEPSEEK_BASE_URL` and `DEEPSEEK_SEARCH_BASE_URL`, and
another spelling fails the launch with the exact name to use.

The home-layer refusal case now covers `SSL_CERT_FILE`,
`NODE_TLS_REJECT_UNAUTHORIZED`, and `DSH_HOME`. The web-deepseek-api
README states where `DEEPSEEK_BASE_URL` may come from; the
launch-environment README, the development guide, and the configuration
source Agent Note no longer overstate which file is refused, which
Vitest configurations load the root `.env`, or what a checkout may carry.

Refs #8138
2026-11-09 13:15:10 +08:00
..

description, kind
description kind
Package map for shared utilities: atomic file writes, branded ids, deques, JSON values, harness home paths, launch environment, native commands, packaged ripgrep, 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, packaged ripgrep execution, 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
error/ The dependency-free HarnessError base class with a stable machine-routable code
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
ripgrep/ Resolves the packaged ripgrep binary, spawns it through the caller's subprocess service, and streams its output records
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

Dev Note

Working context for maintainers — click to expand

None.