Files
deepseek-harness/packages/host/plugin-inventory
Pine 3e0eca752c feat(plugin-inventory): add setEnabled Remote that toggles and persists a plugin
pluginInventory/setEnabled calls ctx.loader.update({disabled}) for a live
effect and writes an explicit disabled override into the profile's user
patch layer so the choice survives a restart. The patch row id is the bare
entry options.id, not the group-prefixed tree id.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-14 13:53:24 +08:00
..

@deepseek-ai/dsh-host-plugin-inventory

English | 中文

Read-only Host projection of the current Cordis Loader tree. PluginInventoryGateway registers the pluginInventory service and publishes one generated direct Remote, pluginInventory/list. Every call reads ctx.loader.entries() directly, skips structural group rows, and returns the remaining entries in Loader order with only their Loader entry id, module specifier, effective enablement, and current root Fiber phase.

The phase is pending, loading, active, failed, or unloading; it is null when the entry has no live root Fiber. The snapshot is intentionally point-in-time: Loader remains the sole lifecycle authority, while this package owns no cache, history, provenance model, event stream, or mutation path. Its public payload types live under ./types, and Typert generates the Host and Client Remote artifacts exposed by ./typert and ./remote.

The service is Remote-only and deliberately declares no same-process Cordis Context merge. Client packages consume it through the explicit api-remotes assembly rather than importing the Host implementation.

Model Experience

None, as this Host-only inventory projection registers no prompt, tool, message, or provider request.

KV Cache effect

None; this package never assembles model input.

Known Limitations and Deferred Work

  • Point-in-time state only — the result contains no durable failure history or subscription; a missing root Fiber is reported as null, regardless of why no live root exists.
  • No provenance or mutation — the service does not identify which bundle, profile, or override introduced an entry, and it cannot enable, disable, add, or remove plugins.