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