File size: 2,219 Bytes
1f21206 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | export type PluginScope = 'user' | 'project' | 'local' | 'managed' | 'builtin'
export type PluginCapabilityKey =
| 'commands'
| 'agents'
| 'skills'
| 'hooks'
| 'mcpServers'
| 'lspServers'
export type PluginCapabilities = Record<PluginCapabilityKey, string[]>
export type PluginComponentCounts = Record<PluginCapabilityKey, number>
export type PluginSkillEntry = {
name: string
displayName?: string
description: string
version?: string
pluginName?: string
}
export type PluginCommandEntry = {
name: string
description: string
}
export type PluginAgentEntry = {
name: string
displayName?: string
description: string
}
export type PluginHookEntry = {
event: string
matcher?: string
actions: string[]
}
export type PluginMcpServerEntry = {
name: string
displayName?: string
transport: string
summary: string
}
export type PluginSummary = {
id: string
name: string
marketplace: string
scope: PluginScope
enabled: boolean
hasErrors: boolean
isBuiltin: boolean
version?: string
description?: string
authorName?: string
installPath?: string
projectPath?: string
componentCounts: PluginComponentCounts
errors: string[]
}
export type PluginDetail = PluginSummary & {
capabilities: PluginCapabilities
commandEntries: PluginCommandEntry[]
agentEntries: PluginAgentEntry[]
hookEntries: PluginHookEntry[]
skillEntries: PluginSkillEntry[]
mcpServerEntries: PluginMcpServerEntry[]
}
export type PluginMarketplaceSummary = {
name: string
source: string
lastUpdated?: string
autoUpdate: boolean
installedCount: number
}
export type PluginListResponse = {
plugins: PluginSummary[]
marketplaces: PluginMarketplaceSummary[]
summary: {
total: number
enabled: number
errorCount: number
marketplaceCount: number
}
}
export type PluginReloadSummary = {
enabled: number
disabled: number
skills: number
agents: number
hooks: number
mcpServers: number
lspServers: number
errors: number
}
export type PluginSessionReloadSummary = {
applied: boolean
reason?: 'not_running' | 'failed'
commands: number
agents: number
plugins: number
mcpServers: number
errors: number
error?: string
}
|