---
editLink: false
lastUpdated: false
---

[@salesforce/b2c-tooling-sdk](../../modules.md) / [plugins](../index.md) / B2CPluginManager

# Class: B2CPluginManager

Defined in: [packages/b2c-tooling-sdk/src/plugins/manager.ts:42](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/plugins/manager.ts#L42)

Orchestrates plugin discovery, loading, and hook invocation for non-oclif consumers
(VS Code extension, MCP server, etc.).

Replicates the hook collection logic from `base-command.ts:412-530` without
depending on `@oclif/core`.

## Constructors

### Constructor

> **new B2CPluginManager**(`options?`): `B2CPluginManager`

Defined in: [packages/b2c-tooling-sdk/src/plugins/manager.ts:53](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/plugins/manager.ts#L53)

#### Parameters

##### options?

###### discoveryOptions?

[`PluginDiscoveryOptions`](../interfaces/PluginDiscoveryOptions.md)

###### logger?

[`Logger`](../../logging/interfaces/Logger.md)

#### Returns

`B2CPluginManager`

## Accessors

### initialized

#### Get Signature

> **get** **initialized**(): `boolean`

Defined in: [packages/b2c-tooling-sdk/src/plugins/manager.ts:211](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/plugins/manager.ts#L211)

Whether initialize() has been called

##### Returns

`boolean`

***

### pluginNames

#### Get Signature

> **get** **pluginNames**(): `string`[]

Defined in: [packages/b2c-tooling-sdk/src/plugins/manager.ts:206](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/plugins/manager.ts#L206)

Names of all discovered plugins

##### Returns

`string`[]

## Methods

### applyMiddleware()

> **applyMiddleware**(): `void`

Defined in: [packages/b2c-tooling-sdk/src/plugins/manager.ts:185](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/plugins/manager.ts#L185)

Registers collected middleware providers and config sources with the global registries.

After calling this method:
- HTTP middleware is available to all SDK client factories via [globalMiddlewareRegistry](../../clients/variables/globalMiddlewareRegistry.md)
- Auth middleware is available to OAuth strategies via [globalAuthMiddlewareRegistry](../../auth/variables/globalAuthMiddlewareRegistry.md)
- Config sources are available to resolveConfig via [globalConfigSourceRegistry](../../config/variables/globalConfigSourceRegistry.md)

#### Returns

`void`

***

### getConfigSources()

> **getConfigSources**(): `object`

Defined in: [packages/b2c-tooling-sdk/src/plugins/manager.ts:170](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/plugins/manager.ts#L170)

Returns the collected config sources split by priority.

#### Returns

`object`

##### sourcesAfter

> **sourcesAfter**: [`ConfigSource`](../../config/interfaces/ConfigSource.md)[]

##### sourcesBefore

> **sourcesBefore**: [`ConfigSource`](../../config/interfaces/ConfigSource.md)[]

***

### initialize()

> **initialize**(`hookOptions?`): `Promise`\<`void`\>

Defined in: [packages/b2c-tooling-sdk/src/plugins/manager.ts:63](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/plugins/manager.ts#L63)

Discovers installed plugins and invokes their hooks.

Collects config sources, HTTP middleware, and auth middleware providers.

#### Parameters

##### hookOptions?

[`PluginHookOptions`](../interfaces/PluginHookOptions.md)

#### Returns

`Promise`\<`void`\>
