Expand description
Plugin inventory + CLI-action wire shapes. SessionUpdate
variants carry these directly; loaders (refresh_inventory,
the claude plugin shell-out, etc.) live in
forge_agent::userdata::plugins.
Re-exports§
Structs§
- Extension
Row - One row of the Extensions page’s shared grammar: a plugin, one of
its components, or an MCP server. Flattened from a component scan
by
extension_rows. - Installed
Plugin Entry - Marketplace
Entry - Marketplace
Health - One marketplace’s on-disk health for the Extensions page.
- Marketplace
Source Entry - Plugin
Components - Per-plugin component inventory read straight off disk (the plugin
cache plus marketplace manifests). Produced by the scan in
forge_agent::userdata::plugins::components; one entry per registered plugin, per plugin a manifest or the cache names, and one per marketplace whose manifest failed to load. - Plugin
Details - A plugin’s
claude plugin detailsprojection: the always-on token cost every session pays for the plugin being installed. - Plugin
Update Availability - An installed entry whose marketplace copy reports a different version - the “check for updates” result, reported without applying anything.
- Plugin
Update Record - What forge remembers after a plugin moved.
marketplace_ref_beforeis the marketplace clone’s HEAD before the update - the ref a rollback checks out.cwd_rawis where the update ran, so a rollback of a project/local entry works on the same install. - Plugin
Update Run - A section-level update run or check report: the rows and whether it has finished. Progress updates replace the whole run each time so the pane never reconciles partial state.
- Plugin
Update RunRow - One row of a section-level update run or check report, carried to
the pane through
SessionUpdate. - Plugins
CliAction Success - Plugins
Inventory Snapshot
Enums§
- Extension
Kind - Plugin
Capability - Plugin
RunRow Status - Lifecycle of one row in a plugin update run or update check.
- Plugin
Update Trigger - RowState
- The row’s health, as the Extensions page renders it.
Constants§
- ALREADY_
CURRENT_ 🔒MARKER - The CLI marker printed when an update finds nothing to do.
Functions§
- classify_
update_ row - Classify one update call from the CLI’s output and the observed version change. The CLI exits 0 on some failures, so neither signal alone decides: the marker means current, a version change means updated, and anything else - including a silent exit 0 - is a failure whose detail is the output tail. Failures that exit non-zero never reach here: the runner reports them as errors.
- component_
row 🔒 - extension_
rows - Flatten component scans into Extension page rows: one row per plugin followed by its component rows, in scan order.
- output_
tail 🔒 - The last line of CLI output worth showing, trimmed. Long failure prose clips so a report row stays one line.
- plugin_
marketplace - The marketplace part of an installed id (
name@marketplace), empty when the id carries none. - plugin_
row_ 🔒state - The plugin row’s state from a scan result. Priority: a load failure, then not installed, then disabled, then an update, then the auto-dependency marker.
- update_
availability - Diff the installed list against the marketplace catalog. One row per installed entry; an entry with no marketplace copy of a different version is absent.