Skip to main content

Module chest

Module chest 

Source
Expand description

chest, a project package manager for skills, subagents and extensions: the chest.toml manifest, the chest.lock, content hashes, the placement of installed items, and the engine that installs them. It has no pi counterpart.

Modules§

hash
The content hash chest locks for each installed entry.
lock
chest.lock: what a manifest’s entries resolved to, pinned so that another checkout installs the same bytes.
manifest
chest.toml: what a project installs, in [skills], [agents], [extensions] and [patch], and what a package publishes, in [package].
place
Where installed skills and agents go: a canonical copy in the first configured folder, relative links to it from the others, and the .gitignore block that keeps them out of git.
startup
What yapi loads from chest manifests: the installed extensions, with the grants, event policy and module root each runs with, and the placed skills.
wasm
The capabilities a native extension uses, read from its WebAssembly component: the yapi:capabilities section that yapi-extension-api writes, and the WASI interfaces it imports.

Structs§

Fetched
A package fetched to look at, kept until dropped.
Outdated
A locked git or npm entry with the newest revision its source offers.
Project
A chest.toml with its lock, and the folders its entries go to.
Report
What a sync did.

Enums§

ChestError
Why a chest operation failed.
Mode
What Project::sync does.
Outcome
What happened to one entry.

Functions§

command
chest with the flag that selects manifest path of scope, for the commands messages name: chest -g, chest, or chest --manifest with the manifest’s file name, for a run in its folder.
hold_lock
Locks file as FileLock::acquire does, but waits for as long as another holder keeps the lock fresh, where acquire gives up after the stale period. A holder that stopped stops refreshing, so its lock goes stale and is taken over. waiting hears once that the lock is held, when it is not free within a second.
install_command
The command that installs the entries of manifest path of scope, for messages.
manifest_label
How messages name manifest path of scope: its file name in a project, and its path from ~, the folder home, for the global one, which no project folder holds.
refuse_link
Fails when path is a symbolic link. chest reads and writes a manifest and its lock only as plain files, since a cloned project could point a link anywhere.