132 lines
2.7 KiB
YAML
132 lines
2.7 KiB
YAML
# Plugins API schemas
|
|
|
|
PluginStatus:
|
|
type: object
|
|
description: Plugin status information
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: Display name of the plugin
|
|
status:
|
|
type: string
|
|
enum: [active, error, disabled, loading, uninitialized, unloaded, loaded]
|
|
logs:
|
|
type: array
|
|
items:
|
|
type: string
|
|
types:
|
|
type: array
|
|
description: Plugin types indicating which interfaces the plugin implements
|
|
items:
|
|
type: string
|
|
enum: [llm, mcp, http, observability]
|
|
example:
|
|
name: my_custom_plugin
|
|
status: active
|
|
logs:
|
|
- "plugin my_custom_plugin initialized successfully"
|
|
types:
|
|
- llm
|
|
- http
|
|
|
|
Plugin:
|
|
type: object
|
|
description: Plugin configuration
|
|
properties:
|
|
id:
|
|
type: integer
|
|
description: Plugin ID (auto-generated)
|
|
name:
|
|
type: string
|
|
description: Display name of the plugin (from config)
|
|
actualName:
|
|
type: string
|
|
description: Actual plugin name from GetName() (used as map key in plugin status). Only populated for active plugins.
|
|
enabled:
|
|
type: boolean
|
|
config:
|
|
type: object
|
|
additionalProperties: true
|
|
isCustom:
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
status:
|
|
$ref: '#/PluginStatus'
|
|
description: Current plugin status including types array (only populated for active plugins)
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
version:
|
|
type: integer
|
|
format: int16
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
config_hash:
|
|
type: string
|
|
example:
|
|
name: my_custom_plugin
|
|
actualName: MyCustomPlugin
|
|
enabled: true
|
|
config:
|
|
api_key: "xxx"
|
|
isCustom: true
|
|
path: "/plugins/my_custom_plugin.so"
|
|
status:
|
|
name: my_custom_plugin
|
|
status: active
|
|
logs:
|
|
- "plugin my_custom_plugin initialized successfully"
|
|
types:
|
|
- llm
|
|
- http
|
|
|
|
ListPluginsResponse:
|
|
type: object
|
|
description: List plugins response
|
|
properties:
|
|
plugins:
|
|
type: array
|
|
items:
|
|
$ref: '#/Plugin'
|
|
count:
|
|
type: integer
|
|
|
|
CreatePluginRequest:
|
|
type: object
|
|
description: Create plugin request
|
|
required:
|
|
- name
|
|
properties:
|
|
name:
|
|
type: string
|
|
enabled:
|
|
type: boolean
|
|
config:
|
|
type: object
|
|
additionalProperties: true
|
|
path:
|
|
type: string
|
|
|
|
UpdatePluginRequest:
|
|
type: object
|
|
description: Update plugin request
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
config:
|
|
type: object
|
|
additionalProperties: true
|
|
path:
|
|
type: string
|
|
|
|
PluginResponse:
|
|
type: object
|
|
description: Plugin operation response
|
|
properties:
|
|
message:
|
|
type: string
|
|
plugin:
|
|
$ref: '#/Plugin'
|