Skip to main content

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

abstract readonly aiMode: string

Defined in: base/BaseProviderPlugin.ts:60

The AI mode identifier this provider handles. Must be unique across all loaded providers.

Inherited from

BaseProviderPlugin.aiMode


displayName

abstract readonly displayName: string

Defined in: base/BaseProviderPlugin.ts:54

Human-readable display name shown in the UI.

Implementation of

FrontendPlugin.displayName

Inherited from

BaseProviderPlugin.displayName


id

abstract readonly id: 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

FrontendPlugin.id

Inherited from

BaseProviderPlugin.id


type

readonly type: "both"

Defined in: base/BaseFullPlugin.ts:42

Full plugins provide both provider and frontend contributions.

Implementation of

FrontendPlugin.type

Overrides

BaseProviderPlugin.type

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

PluginActivation[]

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

ProviderCapabilities

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

ParameterType
_contextPluginContext

Returns

Promise<void>

Implementation of

FrontendPlugin.activate

Inherited from

BaseProviderPlugin.activate


activateFrontend()

abstract activateFrontend(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

ParameterTypeDescription
contextFrontendPluginContextFrontend plugin context with registerXxx methods

Returns

Promise<void>


buildLaunchCommand()

abstract buildLaunchCommand(context): CliCommandConfig

Defined in: base/BaseProviderPlugin.ts:113

Build the shell command to launch a new session.

Parameters

ParameterType
contextLaunchContext

Returns

CliCommandConfig

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

FrontendPlugin.deactivate

Inherited from

BaseProviderPlugin.deactivate


detectCli()

abstract detectCli(): Promise<CliDetectionResult>

Defined in: base/BaseProviderPlugin.ts:108

Detect whether this provider's CLI tool is installed and configured.

Returns

Promise<CliDetectionResult>

Inherited from

BaseProviderPlugin.detectCli


parseTerminalStatus()

abstract parseTerminalStatus(output): ProviderSessionStatus | null

Defined in: base/BaseProviderPlugin.ts:118

Parse terminal output to determine session status.

Parameters

ParameterType
outputstring

Returns

ProviderSessionStatus | null

Inherited from

BaseProviderPlugin.parseTerminalStatus