> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# plugins • TypeScript AI Agent SDK

> * Plugin Module for PraisonAI TypeScript SDK

# plugins

<Badge color="green">TypeScript AI Agent</Badge>

* Plugin Module for PraisonAI TypeScript SDK
* Python parity with praisonaiagents/plugins module
* Provides:

- Plugin protocols and interfaces
- Plugin manager for discovery and loading
- Plugin hooks and lifecycle
- Single-file plugin support

## Import

```typescript theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
import { plugins } from 'praisonai';
```

## Classes

<CardGroup cols={2}>
  <Card title="PluginMetadata" icon="brackets-curly" href="../classes/PluginMetadata">
    TypeScript PluginMetadata class
  </Card>

  <Card title="PluginInfo" icon="brackets-curly" href="../classes/PluginInfo">
    TypeScript PluginInfo class
  </Card>

  <Card title="PluginProtocol" icon="brackets-curly" href="../classes/PluginProtocol">
    TypeScript PluginProtocol class
  </Card>

  <Card title="ToolPluginProtocol" icon="brackets-curly" href="../classes/ToolPluginProtocol">
    TypeScript ToolPluginProtocol class
  </Card>

  <Card title="HookPluginProtocol" icon="brackets-curly" href="../classes/HookPluginProtocol">
    TypeScript HookPluginProtocol class
  </Card>

  <Card title="AgentPluginProtocol" icon="brackets-curly" href="../classes/AgentPluginProtocol">
    TypeScript AgentPluginProtocol class
  </Card>

  <Card title="LLMPluginProtocol" icon="brackets-curly" href="../classes/LLMPluginProtocol">
    TypeScript LLMPluginProtocol class
  </Card>

  <Card title="Plugin" icon="brackets-curly" href="../classes/Plugin">
    TypeScript Plugin class
  </Card>

  <Card title="FunctionPlugin" icon="brackets-curly" href="../classes/FunctionPlugin">
    TypeScript FunctionPlugin class
  </Card>

  <Card title="PluginParseError" icon="brackets-curly" href="../classes/PluginParseError">
    TypeScript PluginParseError class
  </Card>

  <Card title="PluginManager" icon="brackets-curly" href="../classes/PluginManager">
    TypeScript PluginManager class
  </Card>
</CardGroup>

## Functions

<CardGroup cols={2}>
  <Card title="getPluginManager()" icon="function" href="../functions/getPluginManager">
    Function definition.
  </Card>

  <Card title="getDefaultPluginDirs()" icon="function" href="../functions/getDefaultPluginDirs">
    Function definition.
  </Card>

  <Card title="ensurePluginDir()" icon="function" href="../functions/ensurePluginDir">
    Function definition.
  </Card>

  <Card title="discoverPlugins()" icon="function" href="../functions/discoverPlugins">
    Function definition.
  </Card>

  <Card title="loadPlugin()" icon="function" href="../functions/loadPlugin">
    Function definition.
  </Card>

  <Card title="discoverAndLoadPlugins()" icon="function" href="../functions/discoverAndLoadPlugins">
    Function definition.
  </Card>

  <Card title="getPluginTemplate()" icon="function" href="../functions/getPluginTemplate">
    Function definition.
  </Card>

  <Card title="parsePluginHeader()" icon="function" href="../functions/parsePluginHeader">
    Function definition.
  </Card>

  <Card title="parsePluginHeaderFromFile()" icon="function" href="../functions/parsePluginHeaderFromFile">
    Function definition.
  </Card>

  <Card title="enable()" icon="function" href="../functions/enable">
    Function definition.
  </Card>

  <Card title="disable()" icon="function" href="../functions/disable">
    Function definition.
  </Card>

  <Card title="listPlugins()" icon="function" href="../functions/listPlugins">
    Function definition.
  </Card>

  <Card title="isEnabled()" icon="function" href="../functions/isEnabled">
    Function definition.
  </Card>
</CardGroup>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="JS Plugins" icon="plug" href="/docs/js/plugins" />
</CardGroup>
