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

***

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

# Class: S4Integrator

Defined in: infrastructure/s4-integrator.js:14

## Constructors

### Constructor

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

Defined in: infrastructure/s4-integrator.js:15

#### Parameters

##### config?

#### Returns

`S4Integrator`

## Properties

### agenticCore

> **agenticCore**: `any`

Defined in: infrastructure/s4-integrator.js:25

***

### autonomousLoop

> **autonomousLoop**: `any`

Defined in: infrastructure/s4-integrator.js:51

***

### config

> **config**: `object`

Defined in: infrastructure/s4-integrator.js:16

#### enableAutonomousLoop

> **enableAutonomousLoop**: `boolean`

#### enableAutoSave

> **enableAutoSave**: `boolean`

#### enableResearch

> **enableResearch**: `boolean`

#### loopInterval

> **loopInterval**: `any`

***

### knowledgePersistence

> **knowledgePersistence**: [`KnowledgePersistence`](KnowledgePersistence.md)

Defined in: infrastructure/s4-integrator.js:46

***

### researchEngine

> **researchEngine**: [`ResearchEngine`](ResearchEngine.md)

Defined in: infrastructure/s4-integrator.js:31

***

### state

> **state**: `object`

Defined in: infrastructure/s4-integrator.js:57

#### cycles

> **cycles**: `number` = `0`

#### initialized

> **initialized**: `boolean` = `false`

#### running

> **running**: `boolean` = `false`

#### startTime

> **startTime**: `null` = `null`

## Methods

### assessSystem()

> **assessSystem**(): `Promise`\<\{ `components`: \{ `agenticCore`: `any`; `autonomousLoop`: `any`; `knowledgePersistence`: \{ `componentCount`: `number`; `decisionCount`: `number`; `evolutionEvents`: `number`; `lastUpdated`: `null`; `researchCount`: `number`; `stats`: \{ `componentCount`: `number`; `decisionCount`: `number`; `lastUpdated`: `null`; `patterns`: \{ \}; `researchCount`: `number`; `totalEvolutions`: `number`; \}; \}; `researchEngine`: \{ `onboardCount`: `number`; `tavilyCount`: `number`; `totalResearches`: `number`; \}; \}; `systemHealth`: `number`; `timestamp`: `number`; `uptime`: `number`; \}\>

Defined in: infrastructure/s4-integrator.js:243

Assess system health and capabilities

#### Returns

`Promise`\<\{ `components`: \{ `agenticCore`: `any`; `autonomousLoop`: `any`; `knowledgePersistence`: \{ `componentCount`: `number`; `decisionCount`: `number`; `evolutionEvents`: `number`; `lastUpdated`: `null`; `researchCount`: `number`; `stats`: \{ `componentCount`: `number`; `decisionCount`: `number`; `lastUpdated`: `null`; `patterns`: \{ \}; `researchCount`: `number`; `totalEvolutions`: `number`; \}; \}; `researchEngine`: \{ `onboardCount`: `number`; `tavilyCount`: `number`; `totalResearches`: `number`; \}; \}; `systemHealth`: `number`; `timestamp`: `number`; `uptime`: `number`; \}\>

***

### decide()

> **decide**(`context`): `Promise`\<`any`\>

Defined in: infrastructure/s4-integrator.js:185

Make an autonomous decision

#### Parameters

##### context

`any`

#### Returns

`Promise`\<`any`\>

***

### evolve()

> **evolve**(): `Promise`\<\{ `assessment`: \{ `components`: \{ `agenticCore`: `any`; `autonomousLoop`: `any`; `knowledgePersistence`: \{ `componentCount`: `number`; `decisionCount`: `number`; `evolutionEvents`: `number`; `lastUpdated`: `null`; `researchCount`: `number`; `stats`: \{ `componentCount`: `number`; `decisionCount`: `number`; `lastUpdated`: `null`; `patterns`: \{ \}; `researchCount`: `number`; `totalEvolutions`: `number`; \}; \}; `researchEngine`: \{ `onboardCount`: `number`; `tavilyCount`: `number`; `totalResearches`: `number`; \}; \}; `systemHealth`: `number`; `timestamp`: `number`; `uptime`: `number`; \}; `cycle`: `number`; `decision`: `any`; \}\>

Defined in: infrastructure/s4-integrator.js:199

Execute autonomous evolution cycle

#### Returns

`Promise`\<\{ `assessment`: \{ `components`: \{ `agenticCore`: `any`; `autonomousLoop`: `any`; `knowledgePersistence`: \{ `componentCount`: `number`; `decisionCount`: `number`; `evolutionEvents`: `number`; `lastUpdated`: `null`; `researchCount`: `number`; `stats`: \{ `componentCount`: `number`; `decisionCount`: `number`; `lastUpdated`: `null`; `patterns`: \{ \}; `researchCount`: `number`; `totalEvolutions`: `number`; \}; \}; `researchEngine`: \{ `onboardCount`: `number`; `tavilyCount`: `number`; `totalResearches`: `number`; \}; \}; `systemHealth`: `number`; `timestamp`: `number`; `uptime`: `number`; \}; `cycle`: `number`; `decision`: `any`; \}\>

***

### exportState()

> **exportState**(`format?`): `string` \| \{ `componentStates`: \{ \}; `decisionHistory`: `never`[]; `evolutionLog`: `never`[]; `lastUpdated`: `null`; `metrics`: \{ \}; `researchHistory`: `never`[]; \} \| \{ `components`: `string`[]; `recentDecisions`: `never`[]; `recentResearch`: `never`[]; `stats`: \{ `componentCount`: `number`; `decisionCount`: `number`; `lastUpdated`: `null`; `patterns`: \{ \}; `researchCount`: `number`; `totalEvolutions`: `number`; \}; \}

Defined in: infrastructure/s4-integrator.js:347

Export system state for external use

#### Parameters

##### format?

`string` = `'json'`

#### Returns

`string` \| \{ `componentStates`: \{ \}; `decisionHistory`: `never`[]; `evolutionLog`: `never`[]; `lastUpdated`: `null`; `metrics`: \{ \}; `researchHistory`: `never`[]; \} \| \{ `components`: `string`[]; `recentDecisions`: `never`[]; `recentResearch`: `never`[]; `stats`: \{ `componentCount`: `number`; `decisionCount`: `number`; `lastUpdated`: `null`; `patterns`: \{ \}; `researchCount`: `number`; `totalEvolutions`: `number`; \}; \}

***

### generateReport()

> **generateReport**(): `object`

Defined in: infrastructure/s4-integrator.js:382

Generate comprehensive report

#### Returns

`object`

##### patterns

> **patterns**: `object`

##### recentEvolution

> **recentEvolution**: `any`[] = `evolution`

##### status

> **status**: `object`

###### status.components

> **components**: `object`

###### status.components.agenticCore

> **agenticCore**: `any`

###### status.components.autonomousLoop

> **autonomousLoop**: `any`

###### status.components.knowledgePersistence

> **knowledgePersistence**: `object`

###### status.components.knowledgePersistence.componentCount

> **componentCount**: `number`

###### status.components.knowledgePersistence.decisionCount

> **decisionCount**: `number`

###### status.components.knowledgePersistence.evolutionEvents

> **evolutionEvents**: `number`

###### status.components.knowledgePersistence.lastUpdated

> **lastUpdated**: `null`

###### status.components.knowledgePersistence.researchCount

> **researchCount**: `number`

###### status.components.knowledgePersistence.stats

> **stats**: `object`

###### status.components.knowledgePersistence.stats.componentCount

> **componentCount**: `number`

###### status.components.knowledgePersistence.stats.decisionCount

> **decisionCount**: `number`

###### status.components.knowledgePersistence.stats.lastUpdated

> **lastUpdated**: `null`

###### status.components.knowledgePersistence.stats.patterns

> **patterns**: `object`

###### status.components.knowledgePersistence.stats.researchCount

> **researchCount**: `number`

###### status.components.knowledgePersistence.stats.totalEvolutions

> **totalEvolutions**: `number`

###### status.components.researchEngine

> **researchEngine**: `object`

###### status.components.researchEngine.onboardCount

> **onboardCount**: `number`

###### status.components.researchEngine.tavilyCount

> **tavilyCount**: `number`

###### status.components.researchEngine.totalResearches

> **totalResearches**: `number`

###### status.cycles

> **cycles**: `number`

###### status.initialized

> **initialized**: `boolean`

###### status.metrics

> **metrics**: `object`

###### status.metrics.cycles

> **cycles**: `number`

###### status.metrics.decisions

> **decisions**: `any` = `agenticStatus.decisionsCount`

###### status.metrics.evolutionIterations

> **evolutionIterations**: `any` = `loopStatus.iteration`

###### status.metrics.knowledge

> **knowledge**: `object`

###### status.metrics.knowledge.decisions

> **decisions**: `number`

###### status.metrics.knowledge.evolutions

> **evolutions**: `number`

###### status.metrics.knowledge.research

> **research**: `number`

###### status.metrics.researchOnboard

> **researchOnboard**: `number` = `researchStats.onboardCount`

###### status.metrics.researchTavily

> **researchTavily**: `number` = `researchStats.tavilyCount`

###### status.metrics.totalResearch

> **totalResearch**: `number` = `researchStats.totalResearches`

###### status.metrics.uptime

> **uptime**: `number`

###### status.running

> **running**: `boolean`

###### status.uptime

> **uptime**: `number`

##### summary

> **summary**: `object`

###### summary.Research-Onboard: Count

> **Research-Onboard: Count**: `number` = `status.metrics.researchOnboard`

###### summary.Research-Tavily: Count

> **Research-Tavily: Count**: `number` = `status.metrics.researchTavily`

###### summary.systemHealth

> **systemHealth**: `string`

###### summary.totalCycles

> **totalCycles**: `number` = `status.cycles`

###### summary.totalDecisions

> **totalDecisions**: `any` = `status.metrics.decisions`

###### summary.totalResearch

> **totalResearch**: `number` = `status.metrics.totalResearch`

###### summary.uptime

> **uptime**: `number` = `status.uptime`

##### timestamp

> **timestamp**: `number`

***

### getDecisionPatterns()

> **getDecisionPatterns**(): `object`

Defined in: infrastructure/s4-integrator.js:375

Get decision patterns

#### Returns

`object`

***

### getEvolutionHistory()

> **getEvolutionHistory**(`limit?`): `never`[]

Defined in: infrastructure/s4-integrator.js:361

Get evolution history

#### Parameters

##### limit?

`number` = `10`

#### Returns

`never`[]

***

### getMetrics()

> **getMetrics**(): `object`

Defined in: infrastructure/s4-integrator.js:273

Get system metrics

#### Returns

`object`

##### cycles

> **cycles**: `number`

##### decisions

> **decisions**: `any` = `agenticStatus.decisionsCount`

##### evolutionIterations

> **evolutionIterations**: `any` = `loopStatus.iteration`

##### knowledge

> **knowledge**: `object`

###### knowledge.decisions

> **decisions**: `number`

###### knowledge.evolutions

> **evolutions**: `number`

###### knowledge.research

> **research**: `number`

##### researchOnboard

> **researchOnboard**: `number` = `researchStats.onboardCount`

##### researchTavily

> **researchTavily**: `number` = `researchStats.tavilyCount`

##### totalResearch

> **totalResearch**: `number` = `researchStats.totalResearches`

##### uptime

> **uptime**: `number`

***

### getResearchInsights()

> **getResearchInsights**(`query`): `never`[]

Defined in: infrastructure/s4-integrator.js:368

Get research insights

#### Parameters

##### query

`any`

#### Returns

`never`[]

***

### getStatus()

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

Defined in: infrastructure/s4-integrator.js:297

Get comprehensive system status

#### Returns

`object`

##### components

> **components**: `object`

###### components.agenticCore

> **agenticCore**: `any`

###### components.autonomousLoop

> **autonomousLoop**: `any`

###### components.knowledgePersistence

> **knowledgePersistence**: `object`

###### components.knowledgePersistence.componentCount

> **componentCount**: `number`

###### components.knowledgePersistence.decisionCount

> **decisionCount**: `number`

###### components.knowledgePersistence.evolutionEvents

> **evolutionEvents**: `number`

###### components.knowledgePersistence.lastUpdated

> **lastUpdated**: `null`

###### components.knowledgePersistence.researchCount

> **researchCount**: `number`

###### components.knowledgePersistence.stats

> **stats**: `object`

###### components.knowledgePersistence.stats.componentCount

> **componentCount**: `number`

###### components.knowledgePersistence.stats.decisionCount

> **decisionCount**: `number`

###### components.knowledgePersistence.stats.lastUpdated

> **lastUpdated**: `null`

###### components.knowledgePersistence.stats.patterns

> **patterns**: `object`

###### components.knowledgePersistence.stats.researchCount

> **researchCount**: `number`

###### components.knowledgePersistence.stats.totalEvolutions

> **totalEvolutions**: `number`

###### components.researchEngine

> **researchEngine**: `object`

###### components.researchEngine.onboardCount

> **onboardCount**: `number`

###### components.researchEngine.tavilyCount

> **tavilyCount**: `number`

###### components.researchEngine.totalResearches

> **totalResearches**: `number`

##### cycles

> **cycles**: `number`

##### initialized

> **initialized**: `boolean`

##### metrics

> **metrics**: `object`

###### metrics.cycles

> **cycles**: `number`

###### metrics.decisions

> **decisions**: `any` = `agenticStatus.decisionsCount`

###### metrics.evolutionIterations

> **evolutionIterations**: `any` = `loopStatus.iteration`

###### metrics.knowledge

> **knowledge**: `object`

###### metrics.knowledge.decisions

> **decisions**: `number`

###### metrics.knowledge.evolutions

> **evolutions**: `number`

###### metrics.knowledge.research

> **research**: `number`

###### metrics.researchOnboard

> **researchOnboard**: `number` = `researchStats.onboardCount`

###### metrics.researchTavily

> **researchTavily**: `number` = `researchStats.tavilyCount`

###### metrics.totalResearch

> **totalResearch**: `number` = `researchStats.totalResearches`

###### metrics.uptime

> **uptime**: `number`

##### running

> **running**: `boolean`

##### uptime

> **uptime**: `number`

***

### importState()

> **importState**(`data`): `Promise`\<`boolean`\>

Defined in: infrastructure/s4-integrator.js:354

Import system state from external source

#### Parameters

##### data

`any`

#### Returns

`Promise`\<`boolean`\>

***

### initialize()

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

Defined in: infrastructure/s4-integrator.js:70

Initialize the S4 system

#### Returns

`Promise`\<`void`\>

***

### research()

> **research**(`query`, `options?`): `Promise`\<\{ `confidence`: `number`; `genesisCubedInsights`: `any`[]; `insights`: `object`[]; `query`: `any`; `recommendations`: `string`[]; `results`: `any`; `source`: `string`; `timestamp`: `number`; \} \| \{ `confidence`: `number`; `error`: `any`; `query`: `any`; `results`: `never`[]; `source`: `string`; `timestamp`: `number`; \} \| `null`\>

Defined in: infrastructure/s4-integrator.js:166

Perform autonomous research

#### Parameters

##### query

`any`

##### options?

#### Returns

`Promise`\<\{ `confidence`: `number`; `genesisCubedInsights`: `any`[]; `insights`: `object`[]; `query`: `any`; `recommendations`: `string`[]; `results`: `any`; `source`: `string`; `timestamp`: `number`; \} \| \{ `confidence`: `number`; `error`: `any`; `query`: `any`; `results`: `never`[]; `source`: `string`; `timestamp`: `number`; \} \| `null`\>

***

### saveState()

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

Defined in: infrastructure/s4-integrator.js:316

Save system state

#### Returns

`Promise`\<`void`\>

***

### start()

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

Defined in: infrastructure/s4-integrator.js:118

Start the S4 system

#### Returns

`Promise`\<`void`\>

***

### stop()

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

Defined in: infrastructure/s4-integrator.js:141

Stop the S4 system

#### Returns

`Promise`\<`void`\>
