Files
deepseek-harness/native/system
Tianyi Cui d9f6afebb1 chore(deps): update the pinned pnpm to 11.28.5
pnpm 11.7.0 can finish its work, print `Done in Xs`, and then never exit
(pnpm/pnpm#12297, pnpm/pnpm#13617): finishWorkers() clears the worker pool
reference, and a later worker API call recreates a pool that is never
finished, so idle worker threads keep the event loop alive. The upstream fix
(pnpm/pnpm#13226) shipped in 11.23.0, and 11.25.0 fixed the hoisted-linker
rename race as well.

The hang surfaces in this repository as a packed-profile rehearsal that runs
`pnpm remove` through the plugin manager and then waits for the test deadline,
holding the profile write lock for the whole time.

Bump packageManager and devDependencies.pnpm in the root, the pinned pnpm in
apps/desktop, and the native/system packageManager; relock; exempt the fresh
package manager from the release-age window; follow the development guide
pair.
2026-10-07 12:36:35 +08:00
..

description, kind
description kind
Prebuilt system primitives for Linux confinement and POSIX Session write locks. package-library

@deepseek-ai/node-addon-system

English | 中文

Summary

Use the Linux landlock-run executable to confine subprocesses, or the ./flock entry to acquire a POSIX write lock. Platform packages contain the precompiled binaries; consumer installation never builds native code. Landlock policy and Session lifecycle remain with callers.

Table of Contents

Use

@deepseek-ai/node-addon-system/landlock-run exports launcherPath, probe, and grantArgs for Landlock. Its executable name, flags, and failure semantics are defined by the CLI contract.

The flock behavior contract maps descriptor, process, and advisory-lock semantics to independent native tests.

@deepseek-ai/node-addon-system/flock exports tryLockExclusive(fd): Promise<void>. Keep the descriptor open until completion. Acquisition uses nonblocking exclusive flock; contention rejects with EAGAIN or EWOULDBLOCK, and closing the final descriptor for the open file description releases the lock. See the entry README.

Importing either entry does not load an addon. A missing Landlock executable probes unusable; a missing flock binding rejects acquisition. Neither path compiles or silently grants unsupported behavior.

Support

Linux x64/arm64 packages contain the static Landlock executable and separate glibc/musl system.node files. macOS x64/arm64 packages contain system.node only. Landlock additionally needs an enforcing Linux kernel; Windows uses the Harness's existing locking implementation. The support matrix names builders and verification owners.

Development

From this directory, pnpm build:ts builds the entry, pnpm build:native builds the host's declared native payload, and pnpm build:test-oracle builds an independent flock syscall fixture. Then pnpm test exercises entry, lock, packaging, and available kernel behavior. Linux requires musl-gcc for a complete build; macOS uses cc. The root pnpm run build:native-system builds only the current host addon for source tests.

The architecture, packaging, and release procedure own implementation and publication details.

Dev Note

None.