[**@s4ai/core Documentation v0.3.23**](../../../README.md)

***

[@s4ai/core Documentation](../../../modules.md) / [@s4ai/core](../README.md) / SelfHealer

# Class: SelfHealer

Defined in: monitoring/self-healer.js:8

## Constructors

### Constructor

> **new SelfHealer**(`app`): `SelfHealer`

Defined in: monitoring/self-healer.js:9

#### Parameters

##### app

`any`

#### Returns

`SelfHealer`

## Properties

### app

> **app**: `any`

Defined in: monitoring/self-healer.js:10

***

### healingHistory

> **healingHistory**: `any`[]

Defined in: monitoring/self-healer.js:12

***

### healingStrategies

> **healingStrategies**: `Map`\<`any`, `any`\>

Defined in: monitoring/self-healer.js:11

***

### maxRetries

> **maxRetries**: `number`

Defined in: monitoring/self-healer.js:13

## Methods

### attemptHealing()

> **attemptHealing**(`error`, `strategy`, `retryCount?`): `any`

Defined in: monitoring/self-healer.js:100

#### Parameters

##### error

`any`

##### strategy

`any`

##### retryCount?

`number` = `0`

#### Returns

`any`

***

### calculateSuccessRate()

> **calculateSuccessRate**(): `string` \| `100`

Defined in: monitoring/self-healer.js:285

#### Returns

`string` \| `100`

***

### classifyError()

> **classifyError**(`error`): `"network_error"` \| `"memory_error"` \| `"performance_degradation"` \| `"component_failure"` \| `"generic_error"`

Defined in: monitoring/self-healer.js:84

#### Parameters

##### error

`any`

#### Returns

`"network_error"` \| `"memory_error"` \| `"performance_degradation"` \| `"component_failure"` \| `"generic_error"`

***

### getHealingHistory()

> **getHealingHistory**(): `any`[]

Defined in: monitoring/self-healer.js:292

#### Returns

`any`[]

***

### getStatus()

> **getStatus**(): `object`

Defined in: monitoring/self-healer.js:277

#### Returns

`object`

##### active

> **active**: `boolean` = `true`

##### healingAttempts

> **healingAttempts**: `number`

##### successRate

> **successRate**: `string` \| `number`

***

### handleComponentFailure()

> **handleComponentFailure**(`error`): `Promise`\<\{ `action`: `string`; `error?`: `undefined`; `reason?`: `undefined`; `success`: `boolean`; \} \| \{ `action?`: `undefined`; `error`: `any`; `reason`: `string`; `success`: `boolean`; \} \| \{ `action?`: `undefined`; `error?`: `undefined`; `reason`: `string`; `success`: `boolean`; \}\>

Defined in: monitoring/self-healer.js:205

#### Parameters

##### error

`any`

#### Returns

`Promise`\<\{ `action`: `string`; `error?`: `undefined`; `reason?`: `undefined`; `success`: `boolean`; \} \| \{ `action?`: `undefined`; `error`: `any`; `reason`: `string`; `success`: `boolean`; \} \| \{ `action?`: `undefined`; `error?`: `undefined`; `reason`: `string`; `success`: `boolean`; \}\>

***

### handleError()

> **handleError**(`error`): `Promise`\<`any`\>

Defined in: monitoring/self-healer.js:51

#### Parameters

##### error

`any`

#### Returns

`Promise`\<`any`\>

***

### handleGenericError()

> **handleGenericError**(`error`): `Promise`\<\{ `action`: `string`; `success`: `boolean`; \}\>

Defined in: monitoring/self-healer.js:236

#### Parameters

##### error

`any`

#### Returns

`Promise`\<\{ `action`: `string`; `success`: `boolean`; \}\>

***

### handleMemoryError()

> **handleMemoryError**(`error`): `Promise`\<\{ `action`: `string`; `success`: `boolean`; \}\>

Defined in: monitoring/self-healer.js:154

#### Parameters

##### error

`any`

#### Returns

`Promise`\<\{ `action`: `string`; `success`: `boolean`; \}\>

***

### handleNetworkError()

> **handleNetworkError**(`error`): `Promise`\<\{ `action`: `string`; `reason`: `string`; `success`: `boolean`; \} \| \{ `action`: `string`; `reason?`: `undefined`; `success`: `boolean`; \}\>

Defined in: monitoring/self-healer.js:127

#### Parameters

##### error

`any`

#### Returns

`Promise`\<\{ `action`: `string`; `reason`: `string`; `success`: `boolean`; \} \| \{ `action`: `string`; `reason?`: `undefined`; `success`: `boolean`; \}\>

***

### handlePerformanceDegradation()

> **handlePerformanceDegradation**(`error`): `Promise`\<\{ `action`: `string`; `success`: `boolean`; \}\>

Defined in: monitoring/self-healer.js:178

#### Parameters

##### error

`any`

#### Returns

`Promise`\<\{ `action`: `string`; `success`: `boolean`; \}\>

***

### heal()

> **heal**(`target`): `Promise`\<`any`\>

Defined in: monitoring/self-healer.js:259

#### Parameters

##### target

`any`

#### Returns

`Promise`\<`any`\>

***

### identifyFailedComponent()

> **identifyFailedComponent**(`error`): `"autonomicEngine"` \| `"selfMonitor"` \| `"codeGenerator"` \| `null`

Defined in: monitoring/self-healer.js:249

#### Parameters

##### error

`any`

#### Returns

`"autonomicEngine"` \| `"selfMonitor"` \| `"codeGenerator"` \| `null`

***

### initializeStrategies()

> **initializeStrategies**(): `void`

Defined in: monitoring/self-healer.js:18

#### Returns

`void`

***

### sleep()

> **sleep**(`ms`): `Promise`\<`any`\>

Defined in: monitoring/self-healer.js:273

#### Parameters

##### ms

`any`

#### Returns

`Promise`\<`any`\>
