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:61

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:55

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:50

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:93

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:129

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:114

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:137

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:109

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

Returns​

Promise<CliDetectionResult>

Inherited from​

BaseProviderPlugin.detectCli


getMcpConfig()​

getMcpConfig(_sessionId, _projectPath): Promise<McpConfigContribution | null>

Defined in: base/BaseProviderPlugin.ts:158

Get MCP configuration this provider needs written before session launch. No-op by default. Override to contribute MCP config if the provider supports MCP.

Parameters​

ParameterType
_sessionIdstring
_projectPathstring

Returns​

Promise<McpConfigContribution | null>

Inherited from​

BaseProviderPlugin.getMcpConfig


getSystemPromptAdditions()​

getSystemPromptAdditions(_context): string[]

Defined in: base/BaseProviderPlugin.ts:179

Get additional system prompt text to append for this provider. No-op by default. Override to inject provider-specific instructions.

Parameters​

ParameterType
_contextLaunchContext

Returns​

string[]

Inherited from​

BaseProviderPlugin.getSystemPromptAdditions


parseTerminalStatus()​

abstract parseTerminalStatus(output): ProviderSessionStatus | null

Defined in: base/BaseProviderPlugin.ts:119

Parse terminal output to determine session status.

Parameters​

ParameterType
outputstring

Returns​

ProviderSessionStatus | null

Inherited from​

BaseProviderPlugin.parseTerminalStatus


parseUsage()​

parseUsage(_workingDir): Promise<ProviderUsageData | null>

Defined in: base/BaseProviderPlugin.ts:170

Fetch usage data for display in the usage panel. No-op by default. Override to return usage metrics if the provider supports usage tracking.

Parameters​

ParameterType
_workingDirstring

Returns​

Promise<ProviderUsageData | null>

Inherited from​

BaseProviderPlugin.parseUsage


readSessionHistory()​

readSessionHistory(_projectPath): Promise<ProviderSessionEntry[]>

Defined in: base/BaseProviderPlugin.ts:149

Read past session history for the given project. No-op by default. Override to return session entries if the provider supports session history.

Parameters​

ParameterType
_projectPathstring

Returns​

Promise<ProviderSessionEntry[]>

Inherited from​

BaseProviderPlugin.readSessionHistory