{pluginId} v{m.version || '?'}
{p.status}
{#if p.status === 'degraded'}

Plugin is usable, but some optional capabilities are unavailable.

{/if} {#if m.description}

{m.description}

{/if}
Name: {m.name || '-'}
API Version: {m.apiVersion || '-'}
Source: {m.source || 'unknown'}
Root: {p.rootPath || '-'}
Contributions: {contribSummary}
Provides
{#each m.provides || [] as cap} {cap} {/each}
{#if m.requires && m.requires.length > 0}
Requires
{#each m.requires as req} {@const found = capabilities.some(c => c.name === req)} {req} {#if found}{/if} {/each}
{#if missingRequired.length > 0}

Missing required capabilities: {missingRequired.join(', ')}

{/if}
{/if} {#if m.optionalRequires && m.optionalRequires.length > 0}
Optional Requires
{#each m.optionalRequires as opt} {@const found = capabilities.some(c => c.name === opt)} {opt} {#if found}{/if} {/each}
{#if missingOptional.length > 0}

Optional capabilities not available — plugin running in degraded mode

{/if}
{/if} {#if m.permissions && m.permissions.length > 0}
Permissions
{#each m.permissions as perm} {@const isDangerous = dangerousPermissions.includes(perm)} {perm} {#if isDangerous}{/if} {/each}
{/if} {#if p.error}
{p.error}
{/if}
{#if hasSettingsPanel} {/if} {#if vaultOpen && canToggle} {#if isDisabled} {:else} {/if} {/if} {#if !vaultOpen && canToggle} Open a vault to manage plugin state {/if}
{#if !hasUIPermission && (m.contributes && (m.contributes.views || m.contributes.sidebarItems || m.contributes.settingsPanels).length > 0)}

Plugin has UI contributions but lacks ui.register permission

{/if}