Abstract Class: BaseFullPlugin
Defined in: base/BaseFullPlugin.ts:38
Frontend plugin interface for UI contributions.
Frontend plugins register UI components that the core renders in predefined extension points. Each registration returns a Disposable for cleanup.
Example
class MyFrontendPlugin extends BaseFrontendPlugin {
readonly id = 'my-ui';
readonly displayName = 'My UI Plugin';
async activate(context: FrontendPluginContext) {
context.subscriptions.push(
context.registerSettingsSection({
categoryId: 'integrations',
sectionId: 'my-settings',
label: 'My Settings',
icon: MyIcon,
component: MySettingsPanel,
})
);
}
}
Extends
Implements
Constructors
Constructor
new BaseFullPlugin():
BaseFullPlugin
Returns
BaseFullPlugin
Inherited from
BaseProviderPlugin.constructor
Properties
aiMode
abstractreadonlyaiMode:string
Defined in: base/BaseProviderPlugin.ts:60
The AI mode identifier this provider handles. Must be unique across all loaded providers.
Inherited from
displayName
abstractreadonlydisplayName:string
Defined in: base/BaseProviderPlugin.ts:54
Human-readable display name shown in the UI.
Implementation of
Inherited from
BaseProviderPlugin.displayName
id
abstractreadonlyid:string
Defined in: base/BaseProviderPlugin.ts:49
Unique plugin identifier.
Must match the id field in the plugin's package.json omniscribe manifest.
Implementation of
Inherited from
type
readonlytype:"both"
Defined in: base/BaseFullPlugin.ts:42
Full plugins provide both provider and frontend contributions.
Implementation of
Overrides
Accessors
activationEvents
Get Signature
get activationEvents():
PluginActivation[]
Defined in: base/BaseFullPlugin.ts:49
Default activation events for full plugins. Combines the provider's mode-based activation with startup activation. Override to customize.
Returns
Events that trigger this plugin's activation. Frontend plugins typically use 'onStartup' or 'onSettingsOpen'.
Implementation of
FrontendPlugin.activationEvents
Overrides
BaseProviderPlugin.activationEvents
capabilities
Get Signature
get capabilities():
ProviderCapabilities
Defined in: base/BaseProviderPlugin.ts:92
Default capabilities: all optional features disabled. Override this getter to declare supported capabilities.
Example
get capabilities(): ProviderCapabilities {
return {
supportsMcp: true,
supportsUsage: true,
supportsSessionHistory: true,
supportedOperations: new Set(['resume', 'fork', 'continue']),
};
}
Returns
Declares what optional features this provider supports
Inherited from
BaseProviderPlugin.capabilities
Methods
activate()
activate(
_context):Promise<void>
Defined in: base/BaseProviderPlugin.ts:128
Called when the plugin is activated. No-op by default. Override to initialize resources, register event listeners, etc.
Parameters
| Parameter | Type |
|---|---|
_context | PluginContext |
Returns
Promise<void>
Implementation of
Inherited from
activateFrontend()
abstractactivateFrontend(context):Promise<void>
Defined in: base/BaseFullPlugin.ts:60
Called when the plugin's frontend is activated.
Use the FrontendPluginContext to register UI contributions.
This is separate from the backend activate() lifecycle.
Parameters
| Parameter | Type | Description |
|---|---|---|
context | FrontendPluginContext | Frontend plugin context with registerXxx methods |
Returns
Promise<void>
buildLaunchCommand()
abstractbuildLaunchCommand(context):CliCommandConfig
Defined in: base/BaseProviderPlugin.ts:113
Build the shell command to launch a new session.
Parameters
| Parameter | Type |
|---|---|
context | LaunchContext |
Returns
Inherited from
BaseProviderPlugin.buildLaunchCommand
deactivate()
deactivate():
Promise<void>
Defined in: base/BaseProviderPlugin.ts:136
Called when the plugin is deactivated. No-op by default. Override to clean up resources not tracked via context.subscriptions.
Returns
Promise<void>
Implementation of
Inherited from
detectCli()
abstractdetectCli():Promise<CliDetectionResult>
Defined in: base/BaseProviderPlugin.ts:108
Detect whether this provider's CLI tool is installed and configured.
Returns
Promise<CliDetectionResult>
Inherited from
parseTerminalStatus()
abstractparseTerminalStatus(output):ProviderSessionStatus|null
Defined in: base/BaseProviderPlugin.ts:118
Parse terminal output to determine session status.
Parameters
| Parameter | Type |
|---|---|
output | string |
Returns
ProviderSessionStatus | null