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

***

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

# Class: WorkflowSwarmHealer

Defined in: monitoring/workflow-swarm-healer.js:10

## Constructors

### Constructor

> **new WorkflowSwarmHealer**(`config?`): `WorkflowSwarmHealer`

Defined in: monitoring/workflow-swarm-healer.js:11

#### Parameters

##### config?

#### Returns

`WorkflowSwarmHealer`

## Properties

### config

> **config**: `object`

Defined in: monitoring/workflow-swarm-healer.js:12

#### autoRetry

> **autoRetry**: `boolean`

#### checkInterval

> **checkInterval**: `any`

#### githubToken

> **githubToken**: `any`

#### maxFailures

> **maxFailures**: `any`

#### owner

> **owner**: `any`

#### repo

> **repo**: `any`

***

### enabled

> **enabled**: `boolean`

Defined in: monitoring/workflow-swarm-healer.js:24

***

### failureHistory

> **failureHistory**: `Map`\<`any`, `any`\> \| `undefined`

Defined in: monitoring/workflow-swarm-healer.js:36

***

### healingActions

> **healingActions**: `Map`\<`any`, `any`\> \| `undefined`

Defined in: monitoring/workflow-swarm-healer.js:37

***

### isRunning

> **isRunning**: `boolean` \| `undefined`

Defined in: monitoring/workflow-swarm-healer.js:38

***

### monitoredWorkflows

> **monitoredWorkflows**: `string`[] \| `undefined`

Defined in: monitoring/workflow-swarm-healer.js:30

***

### monitorInterval

> **monitorInterval**: `number` \| `undefined`

Defined in: monitoring/workflow-swarm-healer.js:64

***

### octokit

> **octokit**: `Octokit` & `RestEndpointMethods` & `Api` & `object` \| `undefined`

Defined in: monitoring/workflow-swarm-healer.js:28

## Methods

### applyHealing()

> **applyHealing**(`workflowFile`, `run`, `action`): `Promise`\<`void`\>

Defined in: monitoring/workflow-swarm-healer.js:267

Apply healing action

#### Parameters

##### workflowFile

`any`

##### run

`any`

##### action

`any`

#### Returns

`Promise`\<`void`\>

***

### checkAllWorkflows()

> **checkAllWorkflows**(): `Promise`\<`void`\>

Defined in: monitoring/workflow-swarm-healer.js:89

Check all monitored workflows

#### Returns

`Promise`\<`void`\>

***

### checkStuckWorkflow()

> **checkStuckWorkflow**(`workflowFile`, `run`): `Promise`\<`void`\>

Defined in: monitoring/workflow-swarm-healer.js:324

Check for stuck workflows

#### Parameters

##### workflowFile

`any`

##### run

`any`

#### Returns

`Promise`\<`void`\>

***

### checkWorkflow()

> **checkWorkflow**(`workflowFile`): `Promise`\<`void`\>

Defined in: monitoring/workflow-swarm-healer.js:106

Check specific workflow for failures

#### Parameters

##### workflowFile

`any`

#### Returns

`Promise`\<`void`\>

***

### clearCacheAndRetry()

> **clearCacheAndRetry**(`run`): `Promise`\<`void`\>

Defined in: monitoring/workflow-swarm-healer.js:316

Clear GitHub Actions cache and retry

#### Parameters

##### run

`any`

#### Returns

`Promise`\<`void`\>

***

### createIssue()

> **createIssue**(`workflowFile`, `run`, `reason`): `Promise`\<`void`\>

Defined in: monitoring/workflow-swarm-healer.js:352

Create GitHub issue for manual intervention

#### Parameters

##### workflowFile

`any`

##### run

`any`

##### reason

`any`

#### Returns

`Promise`\<`void`\>

***

### determineHealingAction()

> **determineHealingAction**(`workflowFile`, `run`, `reason`): `object`

Defined in: monitoring/workflow-swarm-healer.js:225

Determine appropriate healing action

#### Parameters

##### workflowFile

`any`

##### run

`any`

##### reason

`any`

#### Returns

`object`

##### reason

> **reason**: `string` = `'Flaky test detected'`

##### type

> **type**: `string` = `'retry'`

***

### getFailureReason()

> **getFailureReason**(`run`): `Promise`\<`string`\>

Defined in: monitoring/workflow-swarm-healer.js:196

Get failure reason from logs

#### Parameters

##### run

`any`

#### Returns

`Promise`\<`string`\>

***

### getStatus()

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

Defined in: monitoring/workflow-swarm-healer.js:408

Get current status

#### Returns

`object`

##### config

> **config**: `object`

###### config.autoRetry

> **autoRetry**: `boolean`

###### config.checkInterval

> **checkInterval**: `any`

###### config.maxFailures

> **maxFailures**: `any`

##### enabled

> **enabled**: `boolean`

##### failureHistory

> **failureHistory**: `object`

###### Index Signature

\[`k`: `string`\]: `any`

##### healingActions

> **healingActions**: `number`

##### monitoredWorkflows

> **monitoredWorkflows**: `string`[] \| `undefined`

##### running

> **running**: `boolean` \| `undefined`

***

### handleFailure()

> **handleFailure**(`workflowFile`, `failedRun`): `Promise`\<`void`\>

Defined in: monitoring/workflow-swarm-healer.js:151

Handle workflow failure with smart healing

#### Parameters

##### workflowFile

`any`

##### failedRun

`any`

#### Returns

`Promise`\<`void`\>

***

### retryWorkflow()

> **retryWorkflow**(`run`): `Promise`\<`void`\>

Defined in: monitoring/workflow-swarm-healer.js:295

Retry failed workflow

#### Parameters

##### run

`any`

#### Returns

`Promise`\<`void`\>

***

### sendAlert()

> **sendAlert**(`workflowFile`, `history`): `Promise`\<`void`\>

Defined in: monitoring/workflow-swarm-healer.js:397

Send alert (integrate with monitoring systems)

#### Parameters

##### workflowFile

`any`

##### history

`any`

#### Returns

`Promise`\<`void`\>

***

### start()

> **start**(): `Promise`\<`void`\>

Defined in: monitoring/workflow-swarm-healer.js:46

Start continuous workflow monitoring

#### Returns

`Promise`\<`void`\>

***

### stop()

> **stop**(): `void`

Defined in: monitoring/workflow-swarm-healer.js:78

Stop monitoring

#### Returns

`void`
