---
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:44](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/36eea0d308f1312d1a446ec8813ed30b0bdba62c/packages/b2c-tooling-sdk/src/plugins/manager.ts#L44)

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:57](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/36eea0d308f1312d1a446ec8813ed30b0bdba62c/packages/b2c-tooling-sdk/src/plugins/manager.ts#L57)

#### 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:246](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/36eea0d308f1312d1a446ec8813ed30b0bdba62c/packages/b2c-tooling-sdk/src/plugins/manager.ts#L246)

Whether initialize() has been called

##### Returns

`boolean`

***

### pluginNames

#### Get Signature

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

Defined in: [packages/b2c-tooling-sdk/src/plugins/manager.ts:241](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/36eea0d308f1312d1a446ec8813ed30b0bdba62c/packages/b2c-tooling-sdk/src/plugins/manager.ts#L241)

Names of all discovered plugins

##### Returns

`string`[]

## Methods

### applyMiddleware()

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

Defined in: [packages/b2c-tooling-sdk/src/plugins/manager.ts:220](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/36eea0d308f1312d1a446ec8813ed30b0bdba62c/packages/b2c-tooling-sdk/src/plugins/manager.ts#L220)

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`

***

### getAuthSessionBackend()

> **getAuthSessionBackend**(): [`AuthSessionBackend`](../../auth/interfaces/AuthSessionBackend.md) \| `undefined`

Defined in: [packages/b2c-tooling-sdk/src/plugins/manager.ts:208](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/36eea0d308f1312d1a446ec8813ed30b0bdba62c/packages/b2c-tooling-sdk/src/plugins/manager.ts#L208)

Returns the auth session store provided by a plugin, if any.

Not installed by [applyMiddleware](#applymiddleware): hosts with their own secret storage
(such as the VS Code extension) decide whether to use it. To use it, pass it
to `setAuthSessionBackend()` from `@salesforce/b2c-tooling-sdk/auth`.

#### Returns

[`AuthSessionBackend`](../../auth/interfaces/AuthSessionBackend.md) \| `undefined`

***

### getConfigSources()

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

Defined in: [packages/b2c-tooling-sdk/src/plugins/manager.ts:194](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/36eea0d308f1312d1a446ec8813ed30b0bdba62c/packages/b2c-tooling-sdk/src/plugins/manager.ts#L194)

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:68](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/36eea0d308f1312d1a446ec8813ed30b0bdba62c/packages/b2c-tooling-sdk/src/plugins/manager.ts#L68)

Discovers installed plugins and invokes their hooks.

Collects config sources, HTTP middleware, auth middleware providers, and
the auth session store.

#### Parameters

##### hookOptions?

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

#### Returns

`Promise`\<`void`\>
