40 lines
802 B
TypeScript
40 lines
802 B
TypeScript
/**
|
|
* Plugin metadata as returned by the marketplace / plugin directory.
|
|
*/
|
|
export interface PluginMetadata {
|
|
id: string;
|
|
name: string;
|
|
version: string;
|
|
description: string;
|
|
author: string;
|
|
repository: string;
|
|
thumbnail: string;
|
|
downloadUrl: string;
|
|
homepage: string;
|
|
tags: string[];
|
|
addedDate: string;
|
|
}
|
|
|
|
/**
|
|
* Plugin directory index response from the marketplace.
|
|
*/
|
|
export interface PluginIndex {
|
|
version: string;
|
|
updatedAt: string;
|
|
plugins: string[];
|
|
}
|
|
|
|
/**
|
|
* An installed plugin — extends metadata with runtime state.
|
|
*/
|
|
export interface InstalledPlugin extends PluginMetadata {
|
|
installedDate: string;
|
|
enabled: boolean;
|
|
}
|
|
|
|
/** Tab identifiers for the plugin manager UI. */
|
|
export enum PluginTab {
|
|
Marketplace = 'marketplace',
|
|
Installed = 'installed',
|
|
}
|